From 1fe116d8a3f03b1eee2868bd75de2f08d4302b65 Mon Sep 17 00:00:00 2001 From: Richard Zhang Date: Sun, 1 Mar 2026 23:35:18 -0500 Subject: [PATCH 1/5] 1st commit: plan agent, openrouter skill and README_RZ.md --- .github/agents/open-router-plan.agent.md | 39 + .github/skills/openrouter-python-sdk/SKILL.md | 116 + .../openrouter-python-sdk/code_analysis.json | 20647 ++++ .../references/api_reference/__init__.md | 40 + .../references/api_reference/activityitem.md | 21 + .../references/api_reference/analytics.md | 71 + .../references/api_reference/annotations.md | 64 + .../references/api_reference/api_keys.md | 349 + .../api_reference/assistantmessage.md | 39 + .../api_reference/assistantmessageimages.md | 33 + .../api_reference/badgatewayresponse_error.md | 37 + .../badgatewayresponseerrordata.md | 39 + .../api_reference/badrequestresponse_error.md | 37 + .../badrequestresponseerrordata.md | 39 + .../references/api_reference/basemodel.md | 45 + .../references/api_reference/basesdk.md | 174 + .../references/api_reference/beta.md | 39 + .../bulkassignkeystoguardrail.md | 61 + .../bulkassignmemberstoguardrail.md | 61 + .../bulkunassignkeysfromguardrail.md | 61 + .../bulkunassignmembersfromguardrail.md | 61 + .../references/api_reference/chat.md | 367 + .../api_reference/chatgenerationparams.md | 242 + .../api_reference/chatgenerationtokenusage.md | 85 + .../chatmessagecontentitemaudio.md | 37 + .../chatmessagecontentitemcachecontrol.md | 25 + .../chatmessagecontentitemimage.md | 37 + .../chatmessagecontentitemtext.md | 25 + .../chatmessagecontentitemvideo.md | 25 + .../chatmessagecontentitemvideolegacy.md | 25 + .../api_reference/chatmessagetokenlogprob.md | 65 + .../api_reference/chatmessagetokenlogprobs.md | 39 + .../api_reference/chatmessagetoolcall.md | 37 + .../references/api_reference/chatresponse.md | 39 + .../api_reference/chatresponsechoice.md | 39 + .../api_reference/chatstreamingchoice.md | 39 + .../chatstreamingmessagechunk.md | 39 + .../chatstreamingmessagetoolcall.md | 41 + .../chatstreamingresponsechunk.md | 55 + .../api_reference/chatstreamoptions.md | 25 + .../references/api_reference/check_types.md | 51 + .../api_reference/createauthkeyscode.md | 91 + .../api_reference/createchargerequest.md | 25 + .../api_reference/createcoinbasecharge.md | 121 + .../api_reference/createembeddings.md | 133 + .../api_reference/createguardrail.md | 105 + .../references/api_reference/createkeys.md | 105 + .../api_reference/createresponses.md | 49 + .../references/api_reference/credits.md | 127 + .../references/api_reference/datetimes.md | 26 + .../references/api_reference/debugoptions.md | 25 + .../api_reference/defaultparameters.md | 39 + .../api_reference/deleteguardrail.md | 49 + .../references/api_reference/deletekeys.md | 49 + .../api_reference/developermessage.md | 25 + .../edgenetworktimeoutresponse_error.md | 37 + .../edgenetworktimeoutresponseerrordata.md | 39 + .../references/api_reference/embeddings.md | 141 + .../references/api_reference/endpoints.md | 115 + .../references/api_reference/enums.md | 45 + .../api_reference/eventstreaming.md | 195 + .../exchangeauthcodeforapikey.md | 89 + .../references/api_reference/filecitation.md | 21 + .../references/api_reference/filepath.md | 21 + .../api_reference/forbiddenresponse_error.md | 37 + .../forbiddenresponseerrordata.md | 39 + .../references/api_reference/forms.md | 64 + .../references/api_reference/generations.md | 67 + .../references/api_reference/getcredits.md | 61 + .../references/api_reference/getcurrentkey.md | 95 + .../references/api_reference/getgeneration.md | 105 + .../references/api_reference/getguardrail.md | 79 + .../references/api_reference/getkey.md | 79 + .../references/api_reference/getmodels.md | 33 + .../api_reference/getuseractivity.md | 49 + .../references/api_reference/globals.md | 21 + .../references/api_reference/guardrails.md | 743 + .../references/api_reference/headers.md | 62 + .../references/api_reference/httpclient.md | 125 + .../internalserverresponse_error.md | 37 + .../internalserverresponseerrordata.md | 39 + .../api_reference/jsonschemaconfig.md | 39 + .../references/api_reference/list.md | 75 + .../api_reference/listembeddingsmodels.md | 33 + .../references/api_reference/listendpoints.md | 49 + .../api_reference/listendpointsresponse.md | 55 + .../api_reference/listendpointszdr.md | 49 + .../listguardrailkeyassignments.md | 75 + .../listguardrailmemberassignments.md | 75 + .../api_reference/listguardrails.md | 75 + .../api_reference/listkeyassignments.md | 75 + .../api_reference/listmemberassignments.md | 75 + .../api_reference/listmodelscount.md | 33 + .../api_reference/listmodelsuser.md | 45 + .../references/api_reference/listproviders.md | 75 + .../references/api_reference/logger.md | 69 + .../references/api_reference/metadata.md | 123 + .../references/api_reference/model.md | 39 + .../api_reference/modelarchitecture.md | 39 + .../references/api_reference/models_.md | 167 + .../api_reference/modelscountresponse.md | 41 + .../api_reference/modelslistresponse.md | 25 + .../api_reference/namedtoolchoice.md | 37 + .../api_reference/no_response_error.md | 38 + .../api_reference/notfoundresponse_error.md | 37 + .../notfoundresponseerrordata.md | 39 + .../references/api_reference/oauth.md | 139 + .../oauth_create_authorization_url.md | 82 + .../oauth_create_sha256_code_challenge.md | 117 + .../api_reference/oauth_pkce_example.md | 15 + .../openairesponsesincompletedetails.md | 21 + .../openairesponsesinput_union.md | 85 + .../api_reference/openairesponsesprompt.md | 35 + .../openairesponsesreasoningconfig.md | 35 + .../openairesponsesrefusalcontent.md | 21 + .../openairesponsestoolchoice_union.md | 33 + .../openresponseseasyinputmessage.md | 51 + .../api_reference/openresponseserrorevent.md | 39 + .../openresponsesfunctioncalloutput.md | 39 + .../openresponsesfunctiontoolcall.md | 39 + .../openresponsesimagegencallcompleted.md | 25 + .../openresponsesimagegencallgenerating.md | 25 + .../openresponsesimagegencallinprogress.md | 25 + .../openresponsesimagegencallpartialimage.md | 25 + .../openresponsesinputmessageitem.md | 51 + .../api_reference/openresponseslogprobs.md | 25 + .../openresponsesnonstreamingresponse.md | 69 + .../api_reference/openresponsesreasoning.md | 39 + .../openresponsesreasoningconfig.md | 39 + .../openresponsesreasoningdeltaevent.md | 25 + .../openresponsesreasoningdoneevent.md | 25 + ...responsesreasoningsummarypartaddedevent.md | 25 + ...responsesreasoningsummarytextdeltaevent.md | 25 + ...nresponsesreasoningsummarytextdoneevent.md | 25 + .../api_reference/openresponsesrequest.md | 216 + .../openresponsesresponsetext.md | 39 + .../api_reference/openresponsesstreamevent.md | 281 + .../api_reference/openresponsestoplogprobs.md | 25 + .../api_reference/openresponsesusage.md | 89 + .../openresponseswebsearch20250826tool.md | 65 + ...enresponseswebsearchpreview20250311tool.md | 39 + .../openresponseswebsearchpreviewtool.md | 39 + .../openresponseswebsearchtool.md | 65 + .../api_reference/openrouterdefaulterror.md | 31 + .../api_reference/openroutererror.md | 40 + .../outputitemimagegenerationcall.md | 35 + .../references/api_reference/outputmessage.md | 21 + .../payloadtoolargeresponse_error.md | 37 + .../payloadtoolargeresponseerrordata.md | 39 + .../paymentrequiredresponse_error.md | 37 + .../paymentrequiredresponseerrordata.md | 39 + .../api_reference/pdfparseroptions.md | 25 + .../api_reference/percentilelatencycutoffs.md | 39 + .../api_reference/percentilestats.md | 25 + .../percentilethroughputcutoffs.md | 39 + .../api_reference/perrequestlimits.md | 25 + .../provideroverloadedresponse_error.md | 37 + .../provideroverloadedresponseerrordata.md | 39 + .../api_reference/providerpreferences.md | 81 + .../references/api_reference/providers.md | 65 + .../api_reference/providersortconfig.md | 39 + .../api_reference/publicendpoint.md | 51 + .../references/api_reference/publicpricing.md | 25 + .../references/api_reference/queryparams.md | 111 + .../api_reference/reasoningdetailencrypted.md | 39 + .../api_reference/reasoningdetailsummary.md | 39 + .../api_reference/reasoningdetailtext.md | 39 + .../api_reference/reasoningsummarytext.md | 21 + .../api_reference/reasoningtextcontent.md | 21 + .../references/api_reference/registration.md | 25 + .../references/api_reference/requestbodies.md | 33 + .../requesttimeoutresponse_error.md | 37 + .../requesttimeoutresponseerrordata.md | 39 + .../api_reference/responseformatjsonobject.md | 25 + .../api_reference/responseformatjsonschema.md | 25 + .../api_reference/responseformattext.md | 25 + .../responseformattextgrammar.md | 25 + .../api_reference/responseformattextpython.md | 25 + .../api_reference/responseinputaudio.md | 37 + .../api_reference/responseinputfile.md | 39 + .../api_reference/responseinputimage.md | 39 + .../api_reference/responseinputtext.md | 25 + .../api_reference/responseinputvideo.md | 25 + .../api_reference/responseoutputtext.md | 45 + .../references/api_reference/responses.md | 393 + .../api_reference/responseserrorfield.md | 25 + .../api_reference/responsesformattext.md | 25 + .../responsesformattextjsonschemaconfig.md | 39 + .../responsesimagegenerationcall.md | 35 + .../responsesoutputitemfilesearchcall.md | 21 + .../responsesoutputitemfunctioncall.md | 21 + .../responsesoutputitemreasoning.md | 39 + .../api_reference/responsesoutputmessage.md | 25 + .../responseswebsearchcalloutput.md | 21 + .../responseswebsearchuserlocation.md | 39 + .../api_reference/responsetextconfig.md | 39 + .../api_reference/responsevalidationerror.md | 45 + .../references/api_reference/retries.md | 228 + .../references/api_reference/sdk.md | 127 + .../api_reference/sdkconfiguration.md | 28 + .../references/api_reference/sdkhooks.md | 128 + .../references/api_reference/security.md | 106 + .../sendchatcompletionrequest.md | 49 + .../references/api_reference/serializers.md | 322 + .../serviceunavailableresponse_error.md | 37 + .../serviceunavailableresponseerrordata.md | 39 + .../references/api_reference/systemmessage.md | 25 + .../api_reference/tooldefinitionjson.md | 55 + .../api_reference/toolresponsemessage.md | 25 + .../toomanyrequestsresponse_error.md | 37 + .../toomanyrequestsresponseerrordata.md | 39 + .../api_reference/topproviderinfo.md | 39 + .../references/api_reference/types.md | 233 + .../unauthorizedresponse_error.md | 37 + .../unauthorizedresponseerrordata.md | 39 + .../api_reference/unmarshal_json_response.md | 51 + .../unprocessableentityresponse_error.md | 37 + .../unprocessableentityresponseerrordata.md | 39 + .../api_reference/updateguardrail.md | 105 + .../references/api_reference/updatekeys.md | 105 + .../references/api_reference/url.md | 77 + .../references/api_reference/urlcitation.md | 21 + .../references/api_reference/usermessage.md | 25 + .../references/api_reference/values.md | 129 + .../references/api_reference/videoinput.md | 25 + .../websearchpreviewtooluserlocation.md | 35 + .../architecture/architectural_patterns.json | 70 + .../config_patterns/config_patterns.json | 93483 ++++++++++++++++ .../config_patterns/config_patterns.md | 100 + .../dependencies/dependency_graph.dot | 0 .../dependencies/dependency_graph.json | 1081 + .../dependencies/dependency_graph.mmd | 270 + .../references/dependencies/statistics.json | 9 + .../references/documentation/api/README.md | 310 + .../contributing/CONTRIBUTING.md | 26 + .../documentation/documentation_index.json | 31882 ++++++ .../documentation/extraction_summary.json | 10 + .../references/documentation/other/README.md | 102 + .../documentation/other/activityitem.md | 18 + .../references/documentation/other/apitype.md | 11 + .../documentation/other/architecture.md | 14 + .../documentation/other/assistantmessage.md | 17 + .../other/assistantmessagecontent.md | 25 + .../other/assistantmessageimages.md | 8 + .../other/assistantmessageimagesimageurl.md | 8 + .../other/assistantmessagerole.md | 8 + .../other/badgatewayresponseerror.md | 11 + .../other/badgatewayresponseerrordata.md | 12 + .../other/badrequestresponseerror.md | 11 + .../other/badrequestresponseerrordata.md | 12 + .../other/bulkassignkeystoguardrailglobals.md | 9 + .../other/bulkassignkeystoguardrailrequest.md | 11 + .../bulkassignkeystoguardrailrequestbody.md | 8 + .../bulkassignkeystoguardrailresponse.md | 10 + .../bulkassignmemberstoguardrailglobals.md | 9 + .../bulkassignmemberstoguardrailrequest.md | 11 + ...bulkassignmemberstoguardrailrequestbody.md | 8 + .../bulkassignmemberstoguardrailresponse.md | 10 + .../bulkunassignkeysfromguardrailglobals.md | 9 + .../bulkunassignkeysfromguardrailrequest.md | 11 + ...ulkunassignkeysfromguardrailrequestbody.md | 8 + .../bulkunassignkeysfromguardrailresponse.md | 10 + ...bulkunassignmembersfromguardrailglobals.md | 9 + ...bulkunassignmembersfromguardrailrequest.md | 11 + ...unassignmembersfromguardrailrequestbody.md | 8 + ...ulkunassignmembersfromguardrailresponse.md | 10 + .../references/documentation/other/by.md | 12 + .../documentation/other/calldata.md | 17 + .../documentation/other/category.md | 21 + .../references/documentation/other/chainid.md | 10 + .../other/chatcompletionfinishreason.md | 12 + .../other/chatgenerationparams.md | 39 + .../other/chatgenerationparamsby.md | 12 + .../other/chatgenerationparamsengine.md | 9 + .../other/chatgenerationparamsidautorouter.md | 8 + .../other/chatgenerationparamsidfileparser.md | 8 + .../other/chatgenerationparamsidmoderation.md | 8 + .../chatgenerationparamsidresponsehealing.md | 8 + .../other/chatgenerationparamsidweb.md | 8 + .../other/chatgenerationparamsignore.md | 17 + .../other/chatgenerationparamsimageconfig.md | 23 + .../other/chatgenerationparamsmaxprice.md | 14 + .../other/chatgenerationparamsonly.md | 17 + .../other/chatgenerationparamsorder.md | 17 + .../other/chatgenerationparamspartition.md | 11 + .../other/chatgenerationparamspdf.md | 8 + .../other/chatgenerationparamspdfengine.md | 10 + .../chatgenerationparamspluginautorouter.md | 10 + .../chatgenerationparamspluginfileparser.md | 10 + .../chatgenerationparamspluginmoderation.md | 8 + ...atgenerationparamspluginresponsehealing.md | 9 + .../other/chatgenerationparamspluginunion.md | 35 + .../other/chatgenerationparamspluginweb.md | 12 + .../other/chatgenerationparamsprovider.md | 22 + .../other/chatgenerationparamsprovidersort.md | 12 + .../chatgenerationparamsprovidersortconfig.md | 9 + ...tgenerationparamsprovidersortconfigenum.md | 10 + ...generationparamsprovidersortconfigunion.md | 17 + .../other/chatgenerationparamsroute.md | 9 + .../other/chatgenerationparamssortenum.md | 10 + .../other/chatgenerationparamssortunion.md | 25 + .../other/chatgenerationparamstrace.md | 15 + .../other/chatgenerationtokenusage.md | 14 + .../other/chatmessagecontentitem.md | 31 + .../other/chatmessagecontentitem1.md | 17 + .../other/chatmessagecontentitemaudio.md | 11 + .../chatmessagecontentitemaudioinputaudio.md | 9 + .../other/chatmessagecontentitemaudiotype.md | 8 + .../chatmessagecontentitemcachecontrol.md | 11 + .../chatmessagecontentitemcachecontroltype.md | 8 + .../other/chatmessagecontentitemimage.md | 11 + .../chatmessagecontentitemimagedetail.md | 12 + .../chatmessagecontentitemimageimageurl.md | 9 + .../other/chatmessagecontentitemimagetype.md | 8 + .../other/chatmessagecontentitemtext.md | 12 + .../other/chatmessagecontentitemtexttype.md | 8 + .../other/chatmessagecontentitemvideo.md | 11 + .../chatmessagecontentitemvideolegacy.md | 13 + .../chatmessagecontentitemvideolegacytype.md | 8 + .../other/chatmessagecontentitemvideotype.md | 8 + .../other/chatmessagetokenlogprob.md | 13 + .../other/chatmessagetokenlogprobs.md | 11 + .../chatmessagetokenlogprobtoplogprob.md | 10 + .../other/chatmessagetoolcall.md | 12 + .../other/chatmessagetoolcallfunction.md | 9 + .../other/chatmessagetoolcalltype.md | 8 + .../documentation/other/chatresponse.md | 16 + .../documentation/other/chatresponsechoice.md | 13 + .../documentation/other/chatresponseobject.md | 8 + .../other/chatstreamingchoice.md | 13 + .../other/chatstreamingmessagechunk.md | 15 + .../other/chatstreamingmessagechunkrole.md | 10 + .../other/chatstreamingmessagetoolcall.md | 13 + .../chatstreamingmessagetoolcallfunction.md | 11 + .../other/chatstreamingmessagetoolcalltype.md | 10 + .../other/chatstreamingresponsechunk.md | 17 + .../other/chatstreamingresponsechunkobject.md | 8 + .../documentation/other/chatstreamoptions.md | 10 + .../references/documentation/other/code.md | 25 + .../other/completiontokensdetails.md | 13 + .../references/documentation/other/content.md | 17 + .../documentation/other/contentimageurl.md | 9 + .../documentation/other/contenttext.md | 9 + .../documentation/other/costdetails.md | 10 + .../createauthkeyscodecodechallengemethod.md | 11 + .../other/createauthkeyscodedata.md | 12 + .../other/createauthkeyscodeglobals.md | 9 + .../other/createauthkeyscoderequest.md | 10 + .../other/createauthkeyscoderequestbody.md | 14 + .../other/createauthkeyscoderesponse.md | 10 + .../other/createchargerequest.md | 12 + .../other/createcoinbasechargedata.md | 11 + .../other/createcoinbasechargeglobals.md | 9 + .../other/createcoinbasechargerequest.md | 10 + .../other/createcoinbasechargeresponse.md | 10 + .../other/createcoinbasechargesecurity.md | 8 + .../other/createembeddingsdata.md | 10 + .../other/createembeddingsglobals.md | 9 + .../other/createembeddingsprovider.md | 20 + .../other/createembeddingsrequest.md | 10 + .../other/createembeddingsrequestbody.md | 14 + .../other/createembeddingsresponse.md | 17 + .../other/createembeddingsresponsebody.md | 14 + .../other/createguardraildata.md | 19 + .../other/createguardrailglobals.md | 9 + .../other/createguardrailrequest.md | 10 + .../other/createguardrailrequestbody.md | 14 + .../createguardrailresetintervalrequest.md | 12 + .../createguardrailresetintervalresponse.md | 12 + .../other/createguardrailresponse.md | 10 + .../documentation/other/createkeysdata.md | 28 + .../documentation/other/createkeysglobals.md | 9 + .../other/createkeyslimitreset.md | 12 + .../documentation/other/createkeysrequest.md | 10 + .../other/createkeysrequestbody.md | 12 + .../documentation/other/createkeysresponse.md | 11 + .../other/createresponsesglobals.md | 9 + .../other/createresponsesrequest.md | 10 + .../other/createresponsesresponse.md | 17 + .../other/createresponsesresponsebody.md | 10 + .../references/documentation/other/data.md | 10 + .../documentation/other/datacollection.md | 14 + .../documentation/other/debugoptions.md | 10 + .../documentation/other/defaultparameters.md | 12 + .../other/deleteguardrailglobals.md | 9 + .../other/deleteguardrailrequest.md | 10 + .../other/deleteguardrailresponse.md | 10 + .../documentation/other/deletekeysglobals.md | 9 + .../documentation/other/deletekeysrequest.md | 10 + .../documentation/other/deletekeysresponse.md | 10 + .../documentation/other/developermessage.md | 12 + .../other/developermessagecontent.md | 19 + .../other/developermessagerole.md | 8 + .../other/edgenetworktimeoutresponseerror.md | 11 + .../edgenetworktimeoutresponseerrordata.md | 12 + .../references/documentation/other/effort.md | 15 + .../documentation/other/embedding.md | 17 + .../documentation/other/encodingformat.md | 9 + .../documentation/other/endpointstatus.md | 13 + .../references/documentation/other/error.md | 11 + ...ngeauthcodeforapikeycodechallengemethod.md | 11 + .../other/exchangeauthcodeforapikeyglobals.md | 9 + .../other/exchangeauthcodeforapikeyrequest.md | 10 + .../exchangeauthcodeforapikeyrequestbody.md | 10 + .../exchangeauthcodeforapikeyresponse.md | 11 + .../documentation/other/filecitation.md | 11 + .../documentation/other/filecitationtype.md | 8 + .../documentation/other/filepath.md | 10 + .../documentation/other/filepathtype.md | 8 + .../other/forbiddenresponseerror.md | 11 + .../other/forbiddenresponseerrordata.md | 12 + .../documentation/other/getcreditsdata.md | 9 + .../documentation/other/getcreditsglobals.md | 9 + .../documentation/other/getcreditsrequest.md | 9 + .../documentation/other/getcreditsresponse.md | 10 + .../documentation/other/getcurrentkeydata.md | 27 + .../other/getcurrentkeyglobals.md | 9 + .../other/getcurrentkeyrequest.md | 9 + .../other/getcurrentkeyresponse.md | 10 + .../documentation/other/getgenerationdata.md | 43 + .../other/getgenerationglobals.md | 9 + .../other/getgenerationrequest.md | 10 + .../other/getgenerationresponse.md | 10 + .../documentation/other/getguardraildata.md | 19 + .../other/getguardrailglobals.md | 9 + .../other/getguardrailrequest.md | 10 + .../other/getguardrailresetinterval.md | 12 + .../other/getguardrailresponse.md | 10 + .../documentation/other/getkeydata.md | 28 + .../documentation/other/getkeyglobals.md | 9 + .../documentation/other/getkeyrequest.md | 10 + .../documentation/other/getkeyresponse.md | 10 + .../documentation/other/getmodelsglobals.md | 9 + .../documentation/other/getmodelsrequest.md | 11 + .../other/getparametersprovider.md | 76 + .../other/getuseractivityglobals.md | 9 + .../other/getuseractivityrequest.md | 10 + .../other/getuseractivityresponse.md | 10 + .../references/documentation/other/globals.md | 9 + .../references/documentation/other/ignore.md | 17 + .../other/imagegenerationstatus.md | 11 + .../documentation/other/imageurl.md | 8 + .../references/documentation/other/input.md | 8 + .../documentation/other/inputmodality.md | 12 + .../documentation/other/inputtokensdetails.md | 8 + .../documentation/other/inputunion.md | 35 + .../documentation/other/instructtype.md | 31 + .../other/internalserverresponseerror.md | 11 + .../other/internalserverresponseerrordata.md | 12 + .../documentation/other/jsonschemaconfig.md | 13 + .../documentation/other/listdata.md | 26 + .../other/listembeddingsmodelsglobals.md | 9 + .../other/listembeddingsmodelsrequest.md | 9 + .../other/listendpointsglobals.md | 9 + .../other/listendpointsrequest.md | 11 + .../other/listendpointsresponse.md | 10 + .../other/listendpointszdrglobals.md | 9 + .../other/listendpointszdrrequest.md | 9 + .../other/listendpointszdrresponse.md | 10 + .../documentation/other/listglobals.md | 9 + .../other/listguardrailkeyassignmentsdata.md | 14 + .../listguardrailkeyassignmentsglobals.md | 9 + .../listguardrailkeyassignmentsrequest.md | 12 + .../listguardrailkeyassignmentsresponse.md | 11 + .../listguardrailmemberassignmentsdata.md | 13 + .../listguardrailmemberassignmentsglobals.md | 9 + .../listguardrailmemberassignmentsrequest.md | 12 + .../listguardrailmemberassignmentsresponse.md | 11 + .../documentation/other/listguardrailsdata.md | 17 + .../other/listguardrailsglobals.md | 9 + .../other/listguardrailsrequest.md | 11 + .../other/listguardrailsresetinterval.md | 12 + .../other/listguardrailsresponse.md | 11 + .../other/listkeyassignmentsdata.md | 14 + .../other/listkeyassignmentsglobals.md | 9 + .../other/listkeyassignmentsrequest.md | 11 + .../other/listkeyassignmentsresponse.md | 11 + .../other/listmemberassignmentsdata.md | 13 + .../other/listmemberassignmentsglobals.md | 9 + .../other/listmemberassignmentsrequest.md | 11 + .../other/listmemberassignmentsresponse.md | 11 + .../other/listmodelscountglobals.md | 9 + .../other/listmodelscountrequest.md | 9 + .../other/listmodelsuserglobals.md | 9 + .../other/listmodelsuserrequest.md | 9 + .../other/listmodelsusersecurity.md | 8 + .../documentation/other/listprovidersdata.md | 12 + .../other/listprovidersglobals.md | 9 + .../other/listprovidersrequest.md | 9 + .../other/listprovidersresponse.md | 10 + .../documentation/other/listrequest.md | 11 + .../documentation/other/listresponse.md | 10 + .../references/documentation/other/logprob.md | 11 + .../documentation/other/maxprice.md | 14 + .../references/documentation/other/message.md | 37 + .../documentation/other/metadata.md | 10 + .../documentation/other/modality.md | 9 + .../references/documentation/other/model.md | 23 + .../documentation/other/modelarchitecture.md | 14 + .../other/modelarchitectureinstructtype.md | 31 + .../documentation/other/modelgroup.md | 28 + .../other/modelscountresponse.md | 10 + .../documentation/other/modelslistresponse.md | 10 + .../documentation/other/namedtoolchoice.md | 11 + .../other/namedtoolchoicefunction.md | 8 + .../other/namedtoolchoicetype.md | 8 + .../other/notfoundresponseerror.md | 11 + .../other/notfoundresponseerrordata.md | 12 + .../references/documentation/other/object.md | 8 + .../documentation/other/objectembedding.md | 8 + .../references/documentation/other/only.md | 17 + .../other/openairesponsesannotation.md | 23 + .../other/openairesponsesincludable.md | 12 + .../other/openairesponsesincompletedetails.md | 8 + .../other/openairesponsesinputcontent1.md | 29 + .../other/openairesponsesinputcontent2.md | 17 + .../other/openairesponsesinputcontent3.md | 29 + .../other/openairesponsesinputfunctioncall.md | 13 + .../openairesponsesinputfunctioncalloutput.md | 12 + .../other/openairesponsesinputmessage1.md | 10 + .../other/openairesponsesinputmessage2.md | 11 + .../openairesponsesinputroleassistant.md | 8 + .../openairesponsesinputroledeveloper1.md | 8 + .../openairesponsesinputroledeveloper2.md | 8 + .../other/openairesponsesinputrolesystem1.md | 8 + .../other/openairesponsesinputrolesystem2.md | 8 + .../other/openairesponsesinputroleunion1.md | 29 + .../other/openairesponsesinputroleunion2.md | 23 + .../other/openairesponsesinputroleuser1.md | 8 + .../other/openairesponsesinputroleuser2.md | 8 + .../openairesponsesinputtypefunctioncall.md | 8 + ...nairesponsesinputtypefunctioncalloutput.md | 8 + .../other/openairesponsesinputtypemessage1.md | 8 + .../other/openairesponsesinputtypemessage2.md | 8 + .../other/openairesponsesinputunion.md | 23 + .../other/openairesponsesinputunion1.md | 41 + .../other/openairesponsesprompt.md | 9 + .../other/openairesponsesreasoningconfig.md | 9 + .../other/openairesponsesreasoningeffort.md | 13 + .../other/openairesponsesrefusalcontent.md | 9 + .../openairesponsesrefusalcontenttype.md | 8 + .../other/openairesponsesresponsestatus.md | 13 + .../other/openairesponsesservicetier.md | 12 + .../other/openairesponsestoolchoice.md | 8 + .../other/openairesponsestoolchoiceauto.md | 8 + .../openairesponsestoolchoicefunction.md | 9 + .../other/openairesponsestoolchoicenone.md | 8 + .../openairesponsestoolchoicerequired.md | 8 + .../openairesponsestoolchoicetypefunction.md | 8 + ...responsestoolchoicetypewebsearchpreview.md | 8 + ...stoolchoicetypewebsearchpreview20250311.md | 8 + .../other/openairesponsestoolchoiceunion.md | 35 + .../other/openairesponsestruncation.md | 9 + .../other/openresponseseasyinputmessage.md | 10 + ...ponseseasyinputmessagecontentinputimage.md | 12 + ...penresponseseasyinputmessagecontenttype.md | 8 + ...nresponseseasyinputmessagecontentunion1.md | 35 + ...nresponseseasyinputmessagecontentunion2.md | 17 + .../openresponseseasyinputmessagedetail.md | 10 + ...nresponseseasyinputmessageroleassistant.md | 8 + ...nresponseseasyinputmessageroledeveloper.md | 8 + ...openresponseseasyinputmessagerolesystem.md | 8 + .../openresponseseasyinputmessageroleunion.md | 29 + .../openresponseseasyinputmessageroleuser.md | 8 + ...penresponseseasyinputmessagetypemessage.md | 8 + .../other/openresponseserrorevent.md | 14 + .../other/openresponseserroreventtype.md | 8 + .../other/openresponsesfunctioncalloutput.md | 14 + .../openresponsesfunctioncalloutputtype.md | 8 + .../other/openresponsesfunctiontoolcall.md | 15 + .../openresponsesfunctiontoolcalltype.md | 8 + .../openresponsesimagegencallcompleted.md | 13 + .../openresponsesimagegencallcompletedtype.md | 8 + .../openresponsesimagegencallgenerating.md | 13 + ...openresponsesimagegencallgeneratingtype.md | 8 + .../openresponsesimagegencallinprogress.md | 13 + ...openresponsesimagegencallinprogresstype.md | 8 + .../openresponsesimagegencallpartialimage.md | 15 + ...enresponsesimagegencallpartialimagetype.md | 8 + .../documentation/other/openresponsesinput.md | 19 + .../other/openresponsesinput1.md | 71 + .../other/openresponsesinputmessageitem.md | 11 + ...ponsesinputmessageitemcontentinputimage.md | 12 + ...penresponsesinputmessageitemcontenttype.md | 8 + ...enresponsesinputmessageitemcontentunion.md | 35 + .../openresponsesinputmessageitemdetail.md | 10 + ...nresponsesinputmessageitemroledeveloper.md | 8 + ...openresponsesinputmessageitemrolesystem.md | 8 + .../openresponsesinputmessageitemroleunion.md | 23 + .../openresponsesinputmessageitemroleuser.md | 8 + ...penresponsesinputmessageitemtypemessage.md | 8 + .../other/openresponseslogprobs.md | 12 + .../openresponsesnonstreamingresponse.md | 43 + ...openresponsesnonstreamingresponseobject.md | 8 + ...sponsesnonstreamingresponsetoolfunction.md | 14 + ...nresponsesnonstreamingresponsetoolunion.md | 35 + .../openresponsesnonstreamingresponsetype.md | 8 + .../other/openresponsesreasoning.md | 17 + .../other/openresponsesreasoningconfig.md | 13 + .../other/openresponsesreasoningdeltaevent.md | 15 + .../openresponsesreasoningdeltaeventtype.md | 8 + .../other/openresponsesreasoningdoneevent.md | 15 + .../openresponsesreasoningdoneeventtype.md | 8 + .../other/openresponsesreasoningformat.md | 13 + .../openresponsesreasoningstatuscompleted.md | 8 + .../openresponsesreasoningstatusincomplete.md | 8 + .../openresponsesreasoningstatusinprogress.md | 8 + .../openresponsesreasoningstatusunion.md | 23 + ...responsesreasoningsummarypartaddedevent.md | 15 + ...onsesreasoningsummarypartaddedeventtype.md | 8 + ...responsesreasoningsummarytextdeltaevent.md | 15 + ...onsesreasoningsummarytextdeltaeventtype.md | 8 + ...nresponsesreasoningsummarytextdoneevent.md | 15 + ...ponsesreasoningsummarytextdoneeventtype.md | 8 + .../other/openresponsesreasoningtype.md | 8 + .../other/openresponsesrequest.md | 44 + .../other/openresponsesrequestengine.md | 9 + .../other/openresponsesrequestidautorouter.md | 8 + .../other/openresponsesrequestidfileparser.md | 8 + .../other/openresponsesrequestidmoderation.md | 8 + .../openresponsesrequestidresponsehealing.md | 8 + .../other/openresponsesrequestidweb.md | 8 + .../other/openresponsesrequestignore.md | 17 + .../other/openresponsesrequestimageconfig.md | 17 + .../other/openresponsesrequestmaxprice.md | 14 + .../other/openresponsesrequestonly.md | 17 + .../other/openresponsesrequestorder.md | 17 + .../other/openresponsesrequestpdf.md | 8 + .../other/openresponsesrequestpdfengine.md | 10 + .../openresponsesrequestpluginautorouter.md | 10 + .../openresponsesrequestpluginfileparser.md | 10 + .../openresponsesrequestpluginmoderation.md | 8 + ...enresponsesrequestpluginresponsehealing.md | 9 + .../other/openresponsesrequestpluginunion.md | 35 + .../other/openresponsesrequestpluginweb.md | 12 + .../other/openresponsesrequestprovider.md | 22 + .../other/openresponsesrequestroute.md | 11 + .../other/openresponsesrequestsort.md | 25 + .../other/openresponsesrequesttoolfunction.md | 14 + .../other/openresponsesrequesttoolunion.md | 35 + .../other/openresponsesrequesttrace.md | 15 + .../other/openresponsesrequesttype.md | 8 + .../other/openresponsesresponsetext.md | 11 + .../openresponsesresponsetextverbosity.md | 10 + .../other/openresponsesstreamevent.md | 169 + ...enresponsesstreameventresponsecompleted.md | 12 + ...nsesstreameventresponsecontentpartadded.md | 15 + ...onsesstreameventresponsecontentpartdone.md | 15 + ...openresponsesstreameventresponsecreated.md | 12 + .../openresponsesstreameventresponsefailed.md | 12 + ...eventresponsefunctioncallargumentsdelta.md | 14 + ...meventresponsefunctioncallargumentsdone.md | 15 + ...nresponsesstreameventresponseincomplete.md | 12 + ...nresponsesstreameventresponseinprogress.md | 12 + ...onsesstreameventresponseoutputitemadded.md | 13 + ...ponsesstreameventresponseoutputitemdone.md | 13 + ...meventresponseoutputtextannotationadded.md | 16 + ...onsesstreameventresponseoutputtextdelta.md | 16 + ...ponsesstreameventresponseoutputtextdone.md | 16 + ...ameventresponsereasoningsummarypartdone.md | 15 + ...esponsesstreameventresponserefusaldelta.md | 15 + ...responsesstreameventresponserefusaldone.md | 15 + .../other/openresponsestoplogprobs.md | 11 + .../documentation/other/openresponsesusage.md | 17 + .../openresponseswebsearch20250826tool.md | 13 + ...enresponseswebsearch20250826toolfilters.md | 8 + .../openresponseswebsearch20250826tooltype.md | 8 + ...enresponseswebsearchpreview20250311tool.md | 12 + ...sponseswebsearchpreview20250311tooltype.md | 8 + .../openresponseswebsearchpreviewtool.md | 12 + .../openresponseswebsearchpreviewtooltype.md | 8 + .../other/openresponseswebsearchtool.md | 13 + .../openresponseswebsearchtoolfilters.md | 8 + .../other/openresponseswebsearchtooltype.md | 8 + .../references/documentation/other/order.md | 17 + .../other/outputitemimagegenerationcall.md | 11 + .../outputitemimagegenerationcalltype.md | 8 + .../documentation/other/outputmessage.md | 12 + .../other/outputmessagecontent.md | 17 + .../documentation/other/outputmessagerole.md | 8 + .../other/outputmessagestatuscompleted.md | 8 + .../other/outputmessagestatusincomplete.md | 8 + .../other/outputmessagestatusinprogress.md | 8 + .../other/outputmessagestatusunion.md | 23 + .../documentation/other/outputmessagetype.md | 8 + .../documentation/other/outputmodality.md | 11 + .../other/outputtokensdetails.md | 8 + .../documentation/other/parameter.md | 31 + .../references/documentation/other/part1.md | 23 + .../references/documentation/other/part2.md | 23 + .../documentation/other/partition.md | 11 + .../other/payloadtoolargeresponseerror.md | 11 + .../other/payloadtoolargeresponseerrordata.md | 12 + .../other/paymentrequiredresponseerror.md | 11 + .../other/paymentrequiredresponseerrordata.md | 12 + .../documentation/other/pdfparserengine.md | 12 + .../documentation/other/pdfparseroptions.md | 10 + .../other/percentilelatencycutoffs.md | 13 + .../documentation/other/percentilestats.md | 13 + .../other/percentilethroughputcutoffs.md | 13 + .../documentation/other/perrequestlimits.md | 11 + .../other/preferredmaxlatency.md | 25 + .../other/preferredminthroughput.md | 25 + .../references/documentation/other/pricing.md | 21 + .../other/prompttokensdetails.md | 13 + .../documentation/other/providername.md | 109 + .../other/provideroverloadedresponseerror.md | 11 + .../provideroverloadedresponseerrordata.md | 12 + .../other/providerpreferences.md | 22 + .../other/providerpreferencesby.md | 12 + .../other/providerpreferencesignore.md | 17 + .../other/providerpreferencesmaxprice.md | 14 + .../other/providerpreferencesonly.md | 17 + .../other/providerpreferencesorder.md | 17 + .../other/providerpreferencespartition.md | 11 + .../other/providerpreferencesprovidersort.md | 12 + .../providerpreferencesprovidersortconfig.md | 9 + ...oviderpreferencesprovidersortconfigenum.md | 10 + ...viderpreferencesprovidersortconfigunion.md | 17 + .../other/providerpreferencessortenum.md | 10 + .../other/providerpreferencessortunion.md | 25 + .../documentation/other/providerresponse.md | 14 + .../documentation/other/providersort.md | 12 + .../documentation/other/providersortconfig.md | 11 + .../documentation/other/publicendpoint.md | 25 + .../other/publicendpointquantization.md | 16 + .../documentation/other/publicpricing.md | 23 + .../documentation/other/quantization.md | 16 + .../documentation/other/ratelimit.md | 14 + .../references/documentation/other/reason.md | 9 + .../documentation/other/reasoning.md | 11 + .../other/reasoningdetailencrypted.md | 14 + .../other/reasoningdetailencryptedformat.md | 13 + .../other/reasoningdetailencryptedtype.md | 8 + .../other/reasoningdetailsummary.md | 14 + .../other/reasoningdetailsummaryformat.md | 13 + .../other/reasoningdetailsummarytype.md | 8 + .../other/reasoningdetailtext.md | 15 + .../other/reasoningdetailtextformat.md | 13 + .../other/reasoningdetailtexttype.md | 8 + .../other/reasoningdetailunion.md | 25 + .../other/reasoningsummarytext.md | 9 + .../other/reasoningsummarytexttype.md | 8 + .../other/reasoningsummaryverbosity.md | 10 + .../other/reasoningtextcontent.md | 9 + .../other/reasoningtextcontenttype.md | 8 + .../other/requesttimeoutresponseerror.md | 11 + .../other/requesttimeoutresponseerrordata.md | 12 + .../documentation/other/responseformat.md | 37 + .../other/responseformatjsonobject.md | 10 + .../other/responseformatjsonobjecttype.md | 8 + .../other/responseformatjsonschema.md | 11 + .../other/responseformatjsonschematype.md | 8 + .../documentation/other/responseformattext.md | 10 + .../other/responseformattextconfig.md | 25 + .../other/responseformattextgrammar.md | 11 + .../other/responseformattextgrammartype.md | 8 + .../other/responseformattextpython.md | 10 + .../other/responseformattextpythontype.md | 8 + .../other/responseformattexttype.md | 8 + .../documentation/other/responseinputaudio.md | 11 + .../other/responseinputaudioformat.md | 9 + .../other/responseinputaudioinputaudio.md | 9 + .../other/responseinputaudiotype.md | 8 + .../documentation/other/responseinputfile.md | 14 + .../other/responseinputfiletype.md | 8 + .../documentation/other/responseinputimage.md | 12 + .../other/responseinputimagedetail.md | 10 + .../other/responseinputimagetype.md | 8 + .../documentation/other/responseinputtext.md | 11 + .../other/responseinputtexttype.md | 8 + .../documentation/other/responseinputvideo.md | 11 + .../other/responseinputvideotype.md | 8 + .../documentation/other/responseoutputtext.md | 11 + .../other/responseoutputtexttoplogprob.md | 10 + .../other/responseoutputtexttype.md | 8 + .../other/responseserrorfield.md | 11 + .../other/responsesformattext.md | 10 + .../responsesformattextjsonschemaconfig.md | 14 + ...responsesformattextjsonschemaconfigtype.md | 8 + .../other/responsesformattexttype.md | 8 + .../other/responsesimagegenerationcall.md | 11 + .../other/responsesimagegenerationcalltype.md | 8 + .../other/responsesoutputitem.md | 43 + .../responsesoutputitemfilesearchcall.md | 11 + .../responsesoutputitemfilesearchcalltype.md | 8 + .../other/responsesoutputitemfunctioncall.md | 13 + ...esoutputitemfunctioncallstatuscompleted.md | 8 + ...soutputitemfunctioncallstatusincomplete.md | 8 + ...soutputitemfunctioncallstatusinprogress.md | 8 + ...ponsesoutputitemfunctioncallstatusunion.md | 23 + .../responsesoutputitemfunctioncalltype.md | 8 + .../other/responsesoutputitemreasoning.md | 17 + .../responsesoutputitemreasoningformat.md | 15 + ...onsesoutputitemreasoningstatuscompleted.md | 8 + ...nsesoutputitemreasoningstatusincomplete.md | 8 + ...nsesoutputitemreasoningstatusinprogress.md | 8 + ...responsesoutputitemreasoningstatusunion.md | 23 + .../other/responsesoutputitemreasoningtype.md | 8 + .../other/responsesoutputmessage.md | 14 + .../other/responsesoutputmessagecontent.md | 17 + .../other/responsesoutputmessagerole.md | 8 + .../responsesoutputmessagestatuscompleted.md | 8 + .../responsesoutputmessagestatusincomplete.md | 8 + .../responsesoutputmessagestatusinprogress.md | 8 + .../responsesoutputmessagestatusunion.md | 23 + .../other/responsesoutputmessagetype.md | 8 + .../other/responsesoutputmodality.md | 9 + .../other/responsessearchcontextsize.md | 12 + .../other/responseswebsearchcalloutput.md | 10 + .../other/responseswebsearchcalloutputtype.md | 8 + .../other/responseswebsearchuserlocation.md | 14 + .../responseswebsearchuserlocationtype.md | 8 + .../documentation/other/responsetextconfig.md | 11 + .../other/responsetextconfigverbosity.md | 10 + .../documentation/other/retryconfig.md | 24 + .../documentation/other/security.md | 8 + .../other/sendchatcompletionrequestglobals.md | 9 + .../other/sendchatcompletionrequestrequest.md | 10 + .../sendchatcompletionrequestresponse.md | 17 + .../sendchatcompletionrequestresponsebody.md | 10 + .../documentation/other/servicetier.md | 8 + .../other/serviceunavailableresponseerror.md | 11 + .../serviceunavailableresponseerrordata.md | 12 + .../references/documentation/other/sort.md | 10 + .../references/documentation/other/stop.md | 25 + .../documentation/other/systemmessage.md | 12 + .../other/systemmessagecontent.md | 19 + .../documentation/other/systemmessagerole.md | 8 + .../documentation/other/tokenizer.md | 28 + .../documentation/other/toolcallstatus.md | 10 + .../documentation/other/toolchoiceoption.md | 31 + .../other/toolchoiceoptionauto.md | 8 + .../other/toolchoiceoptionnone.md | 8 + .../other/toolchoiceoptionrequired.md | 8 + .../documentation/other/tooldefinitionjson.md | 12 + .../other/tooldefinitionjsonfunction.md | 13 + .../other/tooldefinitionjsontype.md | 8 + .../other/toolresponsemessage.md | 12 + .../other/toolresponsemessagecontent.md | 19 + .../other/toolresponsemessagerole.md | 8 + .../other/toomanyrequestsresponseerror.md | 11 + .../other/toomanyrequestsresponseerrordata.md | 12 + .../documentation/other/topproviderinfo.md | 12 + .../documentation/other/transferintent.md | 9 + .../documentation/other/truncation.md | 9 + .../references/documentation/other/ttl.md | 9 + .../references/documentation/other/type.md | 17 + .../documentation/other/typeimageurl.md | 8 + .../other/typeresponsecompleted.md | 8 + .../other/typeresponsecontentpartadded.md | 8 + .../other/typeresponsecontentpartdone.md | 8 + .../other/typeresponsecreated.md | 8 + .../documentation/other/typeresponsefailed.md | 8 + .../typeresponsefunctioncallargumentsdelta.md | 8 + .../typeresponsefunctioncallargumentsdone.md | 8 + .../other/typeresponseincomplete.md | 8 + .../other/typeresponseinprogress.md | 8 + .../other/typeresponseoutputitemadded.md | 8 + .../other/typeresponseoutputitemdone.md | 8 + .../typeresponseoutputtextannotationadded.md | 8 + .../other/typeresponseoutputtextdelta.md | 8 + .../other/typeresponseoutputtextdone.md | 8 + .../typeresponsereasoningsummarypartdone.md | 8 + .../other/typeresponserefusaldelta.md | 8 + .../other/typeresponserefusaldone.md | 8 + .../documentation/other/typetext.md | 8 + .../other/unauthorizedresponseerror.md | 11 + .../other/unauthorizedresponseerrordata.md | 12 + .../other/unprocessableentityresponseerror.md | 11 + .../unprocessableentityresponseerrordata.md | 12 + .../other/updateguardraildata.md | 19 + .../other/updateguardrailglobals.md | 9 + .../other/updateguardrailrequest.md | 11 + .../other/updateguardrailrequestbody.md | 14 + .../updateguardrailresetintervalrequest.md | 12 + .../updateguardrailresetintervalresponse.md | 12 + .../other/updateguardrailresponse.md | 10 + .../documentation/other/updatekeysdata.md | 28 + .../documentation/other/updatekeysglobals.md | 9 + .../other/updatekeyslimitreset.md | 12 + .../documentation/other/updatekeysrequest.md | 11 + .../other/updatekeysrequestbody.md | 12 + .../documentation/other/updatekeysresponse.md | 10 + .../documentation/other/urlcitation.md | 12 + .../documentation/other/urlcitationtype.md | 8 + .../references/documentation/other/usage.md | 10 + .../documentation/other/usagelimittype.md | 12 + .../documentation/other/usermessage.md | 12 + .../documentation/other/usermessagecontent.md | 19 + .../documentation/other/usermessagerole.md | 8 + .../documentation/other/variables.md | 29 + .../documentation/other/videoinput.md | 10 + .../documentation/other/web3data.md | 8 + .../documentation/other/websearchengine.md | 11 + .../other/websearchpreviewtooluserlocation.md | 12 + .../websearchpreviewtooluserlocationtype.md | 8 + .../documentation/other/websearchstatus.md | 11 + .../documentation/overview/OVERVIEW.md | 127 + .../documentation/overview/README-PYPI.md | 253 + .../documentation/overview/README.md | 253 + .../documentation/overview/RELEASES.md | 11 + .../documentation/overview/USAGE.md | 49 + .../references/patterns/all_patterns.json | 11214 ++ .../patterns/critical_patterns.json | 192 + .../patterns/high_confidence_patterns.json | 1209 + .../references/patterns/summary.json | 16 + .gitignore | 2 +- README_RZ.md | 33 + ...-implementation-plan-gpt-5.1-codex-mini.md | 2085 + ...outer-implementation-plan=gpt-5.3-codex.md | 558 + 911 files changed, 186845 insertions(+), 1 deletion(-) create mode 100644 .github/agents/open-router-plan.agent.md create mode 100644 .github/skills/openrouter-python-sdk/SKILL.md create mode 100644 .github/skills/openrouter-python-sdk/code_analysis.json create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/__init__.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/activityitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/analytics.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/annotations.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/api_keys.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/assistantmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/assistantmessageimages.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/badrequestresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/badrequestresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/basemodel.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/basesdk.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/beta.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/bulkassignkeystoguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/bulkassignmemberstoguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/bulkunassignkeysfromguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/bulkunassignmembersfromguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chat.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatgenerationparams.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatgenerationtokenusage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemcachecontrol.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideo.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideolegacy.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprob.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatmessagetoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatresponsechoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatstreamingchoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagechunk.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagetoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatstreamingresponsechunk.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/chatstreamoptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/check_types.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createauthkeyscode.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createchargerequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createcoinbasecharge.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createembeddings.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createkeys.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/createresponses.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/credits.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/datetimes.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/debugoptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/defaultparameters.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/deleteguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/deletekeys.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/developermessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/embeddings.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/endpoints.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/enums.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/eventstreaming.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/exchangeauthcodeforapikey.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/filecitation.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/filepath.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/forms.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/generations.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getcredits.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getcurrentkey.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getgeneration.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getkey.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getmodels.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/getuseractivity.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/globals.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/guardrails.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/headers.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/httpclient.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/internalserverresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/internalserverresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/jsonschemaconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/list.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listembeddingsmodels.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listendpoints.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listendpointsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listendpointszdr.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listguardrailkeyassignments.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listguardrailmemberassignments.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listguardrails.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listkeyassignments.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listmemberassignments.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listmodelscount.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listmodelsuser.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/listproviders.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/logger.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/metadata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/model.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/modelarchitecture.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/models_.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/modelscountresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/modelslistresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/namedtoolchoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/no_response_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/notfoundresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/notfoundresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/oauth.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/oauth_create_authorization_url.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/oauth_create_sha256_code_challenge.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/oauth_pkce_example.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsesincompletedetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsesinput_union.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsesprompt.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsesreasoningconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsesrefusalcontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openairesponsestoolchoice_union.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseseasyinputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseserrorevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctioncalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctiontoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallcompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallgenerating.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallpartialimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesinputmessageitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseslogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesnonstreamingresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoning.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdeltaevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdoneevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarypartaddedevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdeltaevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdoneevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesresponsetext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesstreamevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsestoplogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponsesusage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearch20250826tool.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreview20250311tool.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreviewtool.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchtool.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openrouterdefaulterror.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/openroutererror.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/outputitemimagegenerationcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/outputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/pdfparseroptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/percentilelatencycutoffs.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/percentilestats.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/percentilethroughputcutoffs.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/perrequestlimits.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/providerpreferences.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/providers.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/providersortconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/publicendpoint.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/publicpricing.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/queryparams.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailencrypted.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailsummary.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/reasoningsummarytext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/reasoningtextcontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/registration.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/requestbodies.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonobject.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonschema.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseformattext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseformattextgrammar.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseformattextpython.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseinputaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseinputfile.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseinputimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseinputtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseinputvideo.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseoutputtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responses.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseserrorfield.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesformattext.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesformattextjsonschemaconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesimagegenerationcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfilesearchcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfunctioncall.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemreasoning.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsesoutputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchcalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchuserlocation.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsetextconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/responsevalidationerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/retries.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/sdk.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/sdkconfiguration.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/sdkhooks.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/security.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/sendchatcompletionrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/serializers.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/systemmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/tooldefinitionjson.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/toolresponsemessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/topproviderinfo.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/types.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/unmarshal_json_response.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponse_error.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/updateguardrail.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/updatekeys.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/url.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/urlcitation.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/usermessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/values.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/videoinput.md create mode 100644 .github/skills/openrouter-python-sdk/references/api_reference/websearchpreviewtooluserlocation.md create mode 100644 .github/skills/openrouter-python-sdk/references/architecture/architectural_patterns.json create mode 100644 .github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.json create mode 100644 .github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.md create mode 100644 .github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.dot create mode 100644 .github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.json create mode 100644 .github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.mmd create mode 100644 .github/skills/openrouter-python-sdk/references/dependencies/statistics.json create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/api/README.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/contributing/CONTRIBUTING.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/documentation_index.json create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/extraction_summary.json create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/README.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/activityitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/apitype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/architecture.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/assistantmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimages.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimagesimageurl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/by.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/calldata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/category.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chainid.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatcompletionfinishreason.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparams.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsby.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidautorouter.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidfileparser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidmoderation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidresponsehealing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidweb.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsignore.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsimageconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsmaxprice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsonly.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsorder.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspartition.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdf.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdfengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginautorouter.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginfileparser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginmoderation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginresponsehealing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginweb.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovider.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigenum.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsroute.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortenum.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamstrace.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationtokenusage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudioinputaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudiotype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontrol.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontroltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagedetail.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimageimageurl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideo.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacy.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacytype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideotype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprob.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobtoplogprob.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcallfunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatresponsechoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatresponseobject.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingchoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunk.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunkrole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcallfunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunk.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunkobject.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/chatstreamoptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/code.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/completiontokensdetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/content.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/contentimageurl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/contenttext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/costdetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodecodechallengemethod.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodedata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodeglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderesponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createchargerequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargedata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargerequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargesecurity.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsprovider.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponsebody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardraildata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeysdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeysglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeyslimitreset.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createkeysresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createresponsesglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createresponsesrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponsebody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/data.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/datacollection.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/debugoptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/defaultparameters.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deletekeysglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deletekeysrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/deletekeysresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/developermessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/developermessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/developermessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/effort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/embedding.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/encodingformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/endpointstatus.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/error.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeycodechallengemethod.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/filecitation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/filecitationtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/filepath.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/filepathtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcreditsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcreditsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcreditsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcreditsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeydata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getgenerationdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getgenerationglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getgenerationrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getgenerationresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getguardraildata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresetinterval.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getkeydata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getkeyglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getkeyrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getkeyresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getmodelsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getmodelsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getparametersprovider.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/globals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/ignore.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/imagegenerationstatus.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/imageurl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/input.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/inputmodality.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/inputtokensdetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/inputunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/instructtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/jsonschemaconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresetinterval.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listmodelsusersecurity.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listprovidersdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listprovidersglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listprovidersrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listprovidersresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/listresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/logprob.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/maxprice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/message.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/metadata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modality.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/model.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modelarchitecture.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modelarchitectureinstructtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modelgroup.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modelscountresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/modelslistresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicefunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/object.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/objectembedding.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/only.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesannotation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincludable.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincompletedetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent3.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleassistant.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesprompt.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningeffort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontenttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesresponsestatus.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesservicetier.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceauto.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicefunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicenone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicerequired.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypefunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview20250311.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestruncation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentinputimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontenttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagedetail.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleassistant.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroledeveloper.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagerolesystem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleuser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagetypemessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseserrorevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseserroreventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutputtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompletedtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgenerating.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgeneratingtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogresstype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimagetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentinputimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontenttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemdetail.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroledeveloper.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemrolesystem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleuser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemtypemessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseslogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponseobject.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolfunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoning.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaeventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneeventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatuscompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedeventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaeventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneeventtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidautorouter.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidfileparser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidmoderation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidresponsehealing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidweb.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestignore.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestimageconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestmaxprice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestonly.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestorder.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdf.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdfengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginautorouter.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginfileparser.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginmoderation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginresponsehealing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginweb.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestprovider.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestroute.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestsort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolfunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttrace.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetextverbosity.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreamevent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecreated.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefailed.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextannotationadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsereasoningsummarypartdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsestoplogprobs.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponsesusage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tool.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826toolfilters.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tooltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tool.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tooltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtool.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtooltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtool.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtoolfilters.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtooltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/order.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatuscompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmessagetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputmodality.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/outputtokensdetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/parameter.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/part1.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/part2.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/partition.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/pdfparserengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/pdfparseroptions.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/percentilelatencycutoffs.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/percentilestats.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/percentilethroughputcutoffs.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/perrequestlimits.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/preferredmaxlatency.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/preferredminthroughput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/pricing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/prompttokensdetails.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providername.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferences.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesby.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesignore.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesmaxprice.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesonly.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesorder.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencespartition.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigenum.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortenum.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providerresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providersort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/providersortconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/publicendpoint.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/publicendpointquantization.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/publicpricing.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/quantization.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/ratelimit.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reason.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoning.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencrypted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummary.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummaryformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummarytype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtextformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummaryverbosity.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontenttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobject.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobjecttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschema.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschematype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattextconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammar.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammartype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpython.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpythontype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseformattexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioinputaudio.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudiotype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputfile.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputfiletype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputimage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagedetail.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputtexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideo.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideotype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttoplogprob.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseserrorfield.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesformattext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfigtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesformattexttype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitem.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncall.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatuscompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncalltype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoning.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningformat.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatuscompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatuscompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusunion.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagetype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmodality.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsessearchcontextsize.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutputtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocationtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfigverbosity.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/retryconfig.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/security.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponsebody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/servicetier.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/sort.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/stop.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/systemmessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/systemmessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/systemmessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/tokenizer.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolcallstatus.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoption.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionauto.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionnone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionrequired.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjson.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsonfunction.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsontype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/topproviderinfo.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/transferintent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/truncation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/ttl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/type.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeimageurl.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecompleted.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecreated.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefailed.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseincomplete.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseinprogress.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextannotationadded.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponsereasoningsummarypartdone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldelta.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldone.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/typetext.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerror.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerrordata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardraildata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeysdata.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeysglobals.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeyslimitreset.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequest.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequestbody.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/updatekeysresponse.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/urlcitation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/urlcitationtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/usage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/usagelimittype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/usermessage.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/usermessagecontent.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/usermessagerole.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/variables.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/videoinput.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/web3data.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/websearchengine.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocation.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocationtype.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/other/websearchstatus.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/overview/OVERVIEW.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/overview/README-PYPI.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/overview/README.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/overview/RELEASES.md create mode 100644 .github/skills/openrouter-python-sdk/references/documentation/overview/USAGE.md create mode 100644 .github/skills/openrouter-python-sdk/references/patterns/all_patterns.json create mode 100644 .github/skills/openrouter-python-sdk/references/patterns/critical_patterns.json create mode 100644 .github/skills/openrouter-python-sdk/references/patterns/high_confidence_patterns.json create mode 100644 .github/skills/openrouter-python-sdk/references/patterns/summary.json create mode 100644 README_RZ.md create mode 100644 outputs/open-router-implementation-plan-gpt-5.1-codex-mini.md create mode 100644 outputs/open-router-implementation-plan=gpt-5.3-codex.md diff --git a/.github/agents/open-router-plan.agent.md b/.github/agents/open-router-plan.agent.md new file mode 100644 index 000000000..950275193 --- /dev/null +++ b/.github/agents/open-router-plan.agent.md @@ -0,0 +1,39 @@ +--- +name: 'open-router-plan' +description: 'Research the document and code base of learn-claude-code to generate a plan for design and implementation of using open router as the LLMs provider besides default provoider claude' +tools: [read, agent, search, edit, todo] +--- + +# Purpose + +The purpose of this agent is to research the document and code base of learn-claude-code to generate a plan for design and implementation of using open router as the LLMs provider besides default provoider claude. The agent analyzes the current architecture, identify integration points, and propose a step-by-step plan for incorporating open router provided LLMs into the existing system by the given workflow, rules and expected outcome. + +You can leverage openrouter-python-sdk skill as references for opernrouter APIs in planning the implementation of open router integration. + +## Workflow + +### Step 1: Analyze the ./REAME.md to build up an overall understanding of the learn-claude-code project, its architecture, project structure, and the integratoin with claude models. Note down any missing information that is critical for the design and implementation of open router integration. + +### Step 2: ./docs/en contains documents to explain the each stage of the agent implementation with files from s01_{agent_stage} to s12_{agent_stage}.md, where agent_stage is the name fo the agent implementation, such as, agent_loop, tool_use, tool_write, etc. + +- Go through each of the md file by the order of 01 to 02 to understand the design and implementation of each stage of the agent implementation. Note down the architecture, design, and implementation details of each stage, and how the claude models are integrated into the system. + +- After the agent stage md file, check its corresponding python code file in ./agents for a code level understanding how claude models are used. The agent stage python code file is named as s{agent_stage}_{agent_stage}.py, such as s01_agent_loop.py, s02_tool_use.py, etc. Note down the code level details of how claude models are used in each stage of the agent implementation. + +### Step 3: with the deep understanding of each stage of the agent implementation and how claude models are integrated into the system, design the best implementation plan along with unit testing for integrating open router into each of the stage of the agent implementation. Including configuration changes needed. + +### Step 4: Write the implementation plan in a markdown file in ./outputs/`open-router-implementation-plan.md` with clear steps, expected outcome, and testing plan for each step. The implementation plan should cover all the stages of the agent implementation and how open router will be integrated into each stage. + +## Requirements for the implementation plan + +- The implementation plan should refactor each stage of the agent implementation to support both claude and open router as the LLMs provider, with a configuration switch to choose between them. +- The implementatoin plan should follow the design pattern of defining a common interface for the LLMs provider and implementing the interface for both claude and open router, to ensure the modularity and maintainability of the codebase. +- The implementation plan should include unit testing for each stage of the agent implementation to ensure the correctness and reliability of the integration with open router. The testing plan should cover both positive and negative test cases. + +## Rules for workflow execution + +- Report the progress of the each step. +- If any critical information is missing for the design and implementation of open router integration, report the missing information and suggest how to obtain it. +- Apply critical thinking in the analysis of the architecture, design, and implementation of each stage of the agent implementation, and in the design of the implementation plan for open router integration. Consider the trade-offs between different design choices and justify the decisions made in the implementation plan. +- Challenge user with questions to clarify the requirements and constraints for the open router integration, and to ensure a clear understanding of the expected outcome of the implementation plan. + diff --git a/.github/skills/openrouter-python-sdk/SKILL.md b/.github/skills/openrouter-python-sdk/SKILL.md new file mode 100644 index 000000000..8be9c070a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/SKILL.md @@ -0,0 +1,116 @@ +--- +name: openrouter-python-sdk +description: Local codebase analysis for python-sdk +--- + +# python-sdk Codebase + +## Description + +Openrouter Python SDK codebase agent skill. Created by skill-seekers with minor manual modifications. + +**Path:** `/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk` +**Files Analyzed:** 268 +**Languages:** Python +**Analysis Depth:** deep + +## When to Use This Skill + +Use this skill when you need to dependends on openrouter python sdk to, +- Understand sdk architecture and design patterns +- Find implementation examples and usage patterns +- Review API documentation extracted from code +- Check configuration patterns and best practices +- Explore test examples and real-world usage +- Navigate the codebase structure efficiently +- Implement python module to interact with openrouter APIs + +## ⚡ Quick Reference + +### Codebase Statistics + +**Languages:** +- **Python**: 268 files (100.0%) + +**Analysis Performed:** +- ✅ API Reference (C2.5) +- ✅ Dependency Graph (C2.6) +- ✅ Design Patterns (C3.1) +- ✅ Test Examples (C3.2) +- ✅ Configuration Patterns (C3.4) +- ✅ Architectural Analysis (C3.7) +- ✅ Project Documentation (C3.9) + +## 🏗️ Architecture Overview + +*From C3.7 architectural analysis* + +**Detected Architectural Patterns:** + +- **Service Layer Pattern** (confidence: 0.75) + +*Total: 1 architectural patterns detected* + +*See `references/architecture/` for complete architectural analysis* + +## ⚙️ Configuration Patterns + +*From C3.4 configuration analysis* + +**Configuration Files Analyzed:** 15 +**Total Settings:** 10570 +**Patterns Detected:** 0 + +**Configuration Types:** +- unknown: 15 files + +*See `references/config_patterns/` for detailed configuration analysis* + +## 📖 Project Documentation + +*Extracted from markdown files in the project (C3.9)* + +**Total Documentation Files:** 684 +**Categories:** 4 + +### Overview + +- **OpenRouter Python SDK**: **OpenRouter Python SDK** +- **OpenRouter SDK (Beta)**: **OpenRouter SDK (Beta)** +- **OpenRouter SDK (Beta)**: **OpenRouter SDK (Beta)** +- **RELEASES**: Sections: 2025-11-15 18:16:18, Changes, Generated, Releases +- **USAGE**: + +### Api + +- **APIKeys**: **APIKeys** + +### Contributing + +- **Contributing to This Repository**: **Contributing to This Repository** + +### Other + +- **Dev Containers Quick Start**: **Dev Containers Quick Start** +- **ActivityItem**: **ActivityItem** +- **Architecture**: **Architecture** +- **AssistantMessage**: **AssistantMessage** +- **AssistantMessageContent**: **AssistantMessageContent** +- *...and 672 more* + +*See `references/documentation/` for all project documentation* + +## 📚 Available References + +This skill includes detailed reference documentation: + +- **API Reference**: `references/api_reference/` - Complete API documentation +- **Dependencies**: `references/dependencies/` - Dependency graph and analysis +- **Patterns**: `references/patterns/` - Detected design patterns +- **Configuration**: `references/config_patterns/` - Configuration patterns +- **Architecture**: `references/architecture/` - Architectural patterns +- **Documentation**: `references/documentation/` - Project documentation + +--- + +**Generated by Skill Seeker** | Codebase Analyzer with C3.x Analysis diff --git a/.github/skills/openrouter-python-sdk/code_analysis.json b/.github/skills/openrouter-python-sdk/code_analysis.json new file mode 100644 index 000000000..5bca3d617 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/code_analysis.json @@ -0,0 +1,20647 @@ +{ + "files": [ + { + "file": "examples/oauth_pkce_example.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "main", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 18, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 19, + "text": "Step 1: Generate a code challenge and verifier", + "type": "inline" + }, + { + "line": 20, + "text": "You can optionally provide your own code_verifier, or let it generate one", + "type": "inline" + }, + { + "line": 27, + "text": "Or provide your own code verifier (must be 43-128 chars, [A-Za-z0-9-._~])", + "type": "inline" + }, + { + "line": 37, + "text": "Step 2: Create an authorization URL", + "type": "inline" + }, + { + "line": 40, + "text": "Create authorization URL with PKCE", + "type": "inline" + }, + { + "line": 54, + "text": "Step 3: User would visit the authorization URL and authorize the app", + "type": "inline" + }, + { + "line": 55, + "text": "Step 4: After authorization, the callback URL receives an authorization code", + "type": "inline" + }, + { + "line": 56, + "text": "Step 5: Exchange the code for an API key using the SDK's exchange method", + "type": "inline" + }, + { + "line": 57, + "text": "code = \"authorization-code-from-callback\"", + "type": "inline" + }, + { + "line": 58, + "text": "api_key_response = client.o_auth.exchange_auth_code_for_api_key(", + "type": "inline" + }, + { + "line": 59, + "text": "code=code,", + "type": "inline" + }, + { + "line": 60, + "text": "code_verifier=result.code_verifier,", + "type": "inline" + }, + { + "line": 61, + "text": "code_challenge_method=\"S256\",", + "type": "inline" + }, + { + "line": 62, + "text": ")", + "type": "inline" + }, + { + "line": 63, + "text": "print(\"API Key:\", api_key_response.key)", + "type": "inline" + } + ], + "imports": [ + "openrouter", + "openrouter.utils" + ] + }, + { + "file": "scripts/check_types.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "compute_hash", + "parameters": [ + { + "name": "model_ids", + "type_hint": "list[str]", + "default": null + } + ], + "return_type": "str", + "docstring": "Compute SHA-256 hash of sorted model IDs (first 16 chars).", + "line_number": 28, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "extract_hash", + "parameters": [ + { + "name": "content", + "type_hint": "str", + "default": null + } + ], + "return_type": "str | None", + "docstring": "Extract MODEL_HASH from types file content.", + "line_number": 36, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "fetch_models", + "parameters": [], + "return_type": "list[str]", + "docstring": "Fetch model IDs from OpenRouter API.", + "line_number": 42, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "main", + "parameters": [], + "return_type": "None", + "docstring": null, + "line_number": 50, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 51, + "text": "Skip in CI environments", + "type": "inline" + }, + { + "line": 55, + "text": "Skip if explicitly disabled", + "type": "inline" + }, + { + "line": 60, + "text": "Find the types file", + "type": "inline" + }, + { + "line": 64, + "text": "Read existing hash", + "type": "inline" + }, + { + "line": 69, + "text": "Types file doesn't exist - expected for fresh installs", + "type": "inline" + }, + { + "line": 73, + "text": "No hash found - unusual, but don't warn", + "type": "inline" + }, + { + "line": 76, + "text": "Fetch current models and compute hash", + "type": "inline" + }, + { + "line": 80, + "text": "Compare hashes", + "type": "inline" + }, + { + "line": 91, + "text": "Silently ignore errors - don't break installs", + "type": "inline" + }, + { + "line": 92, + "text": "Network errors, timeouts, etc. are expected in some environments", + "type": "inline" + } + ], + "imports": [ + "hashlib", + "json", + "os", + "re", + "sys", + "urllib.request", + "pathlib" + ] + }, + { + "file": "scripts/prepare_readme.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [ + { + "line": 14, + "text": "links on PyPI should have absolute URLs", + "type": "inline" + } + ], + "imports": [ + "re", + "shutil" + ] + }, + { + "file": "src/openrouter/__init__.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "_version", + "sdk", + "sdkconfiguration" + ] + }, + { + "file": "src/openrouter/_hooks/__init__.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "sdkhooks", + "types", + "registration" + ] + }, + { + "file": "src/openrouter/_hooks/registration.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "init_hooks", + "parameters": [ + { + "name": "hooks", + "type_hint": "Hooks", + "default": null + } + ], + "return_type": null, + "docstring": "Add hooks by calling hooks.register{sdk_init/before_request/after_success/after_error}Hook\nwith an instance of a hook that implements that specific Hook interface\nHooks are registered per SDK instance, and are valid for the lifetime of the SDK instance", + "line_number": 9, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 4, + "text": "This file is only ever generated once on the first generation and then is free to be modified.", + "type": "inline" + }, + { + "line": 5, + "text": "Any hooks you wish to add should be registered in the init_hooks function. Feel free to define them", + "type": "inline" + }, + { + "line": 6, + "text": "in this file or in separate files in the hooks folder.", + "type": "inline" + }, + { + "line": 10, + "text": "pylint: disable=unused-argument", + "type": "inline" + } + ], + "imports": [ + "types" + ] + }, + { + "file": "src/openrouter/_hooks/sdkhooks.py", + "language": "Python", + "classes": [ + { + "name": "SDKHooks", + "base_classes": [ + "Hooks" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 20, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "register_sdk_init_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "SDKInitHook", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "register_before_request_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "BeforeRequestHook", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 30, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "register_after_success_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "AfterSuccessHook", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "register_after_error_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "AfterErrorHook", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 36, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "sdk_init", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "config", + "type_hint": "SDKConfiguration", + "default": null + } + ], + "return_type": "SDKConfiguration", + "docstring": null, + "line_number": 39, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "before_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "BeforeRequestContext", + "default": null + }, + { + "name": "request", + "type_hint": "httpx.Request", + "default": null + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 44, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "after_success", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "AfterSuccessContext", + "default": null + }, + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 55, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "after_error", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "AfterErrorContext", + "default": null + }, + { + "name": "response", + "type_hint": "Optional[httpx.Response]", + "default": null + }, + { + "name": "error", + "type_hint": "Optional[Exception]", + "default": null + } + ], + "return_type": "Tuple[Optional[httpx.Response], Optional[Exception]]", + "docstring": null, + "line_number": 65, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 19 + } + ], + "functions": [], + "comments": [], + "imports": [ + "httpx", + "types", + "registration", + "typing", + "openrouter.sdkconfiguration" + ] + }, + { + "file": "src/openrouter/_hooks/types.py", + "language": "Python", + "classes": [ + { + "name": "HookContext", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "config", + "type_hint": "SDKConfiguration", + "default": null + }, + { + "name": "base_url", + "type_hint": "str", + "default": null + }, + { + "name": "operation_id", + "type_hint": "str", + "default": null + }, + { + "name": "oauth2_scopes", + "type_hint": "Optional[List[str]]", + "default": null + }, + { + "name": "security_source", + "type_hint": "Optional[Union[Any, Callable[[], Any]]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 16, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 9 + }, + { + "name": "BeforeRequestContext", + "base_classes": [ + "HookContext" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "HookContext", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 32, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 31 + }, + { + "name": "AfterSuccessContext", + "base_classes": [ + "HookContext" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "HookContext", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 43, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 42 + }, + { + "name": "AfterErrorContext", + "base_classes": [ + "HookContext" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "HookContext", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 54, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 53 + }, + { + "name": "SDKInitHook", + "base_classes": [ + "ABC" + ], + "methods": [ + { + "name": "sdk_init", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "config", + "type_hint": "SDKConfiguration", + "default": null + } + ], + "return_type": "SDKConfiguration", + "docstring": null, + "line_number": 66, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + } + ], + "docstring": null, + "line_number": 64 + }, + { + "name": "BeforeRequestHook", + "base_classes": [ + "ABC" + ], + "methods": [ + { + "name": "before_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "BeforeRequestContext", + "default": null + }, + { + "name": "request", + "type_hint": "httpx.Request", + "default": null + } + ], + "return_type": "Union[httpx.Request, Exception]", + "docstring": null, + "line_number": 72, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + } + ], + "docstring": null, + "line_number": 70 + }, + { + "name": "AfterSuccessHook", + "base_classes": [ + "ABC" + ], + "methods": [ + { + "name": "after_success", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "AfterSuccessContext", + "default": null + }, + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "Union[httpx.Response, Exception]", + "docstring": null, + "line_number": 80, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + } + ], + "docstring": null, + "line_number": 78 + }, + { + "name": "AfterErrorHook", + "base_classes": [ + "ABC" + ], + "methods": [ + { + "name": "after_error", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": "AfterErrorContext", + "default": null + }, + { + "name": "response", + "type_hint": "Optional[httpx.Response]", + "default": null + }, + { + "name": "error", + "type_hint": "Optional[Exception]", + "default": null + } + ], + "return_type": "Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]", + "docstring": null, + "line_number": 88, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + } + ], + "docstring": null, + "line_number": 86 + }, + { + "name": "Hooks", + "base_classes": [ + "ABC" + ], + "methods": [ + { + "name": "register_sdk_init_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "SDKInitHook", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 99, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + }, + { + "name": "register_before_request_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "BeforeRequestHook", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 103, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + }, + { + "name": "register_after_success_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "AfterSuccessHook", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 107, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + }, + { + "name": "register_after_error_hook", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook", + "type_hint": "AfterErrorHook", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 111, + "is_async": false, + "is_method": true, + "decorators": [ + "abstractmethod" + ] + } + ], + "docstring": null, + "line_number": 97 + } + ], + "functions": [], + "comments": [], + "imports": [ + "abc", + "httpx", + "openrouter.sdkconfiguration", + "typing" + ] + }, + { + "file": "src/openrouter/_version.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "importlib.metadata" + ] + }, + { + "file": "src/openrouter/analytics.py", + "language": "Python", + "classes": [ + { + "name": "Analytics", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "get_user_activity", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetUserActivityResponse", + "docstring": "Get user activity grouped by endpoint\n\nReturns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param date_: Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_user_activity_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetUserActivityResponse", + "docstring": "Get user activity grouped by endpoint\n\nReturns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param date_: Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 137, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Analytics and usage endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/api_keys.py", + "language": "Python", + "classes": [ + { + "name": "APIKeys", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "list", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListResponse", + "docstring": "List API keys\n\nList all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param include_disabled: Whether to include disabled API keys in the response\n:param offset: Number of API keys to skip for pagination\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 16, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListResponse", + "docstring": "List API keys\n\nList all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param include_disabled: Whether to include disabled API keys in the response\n:param offset: Number of API keys to skip for pagination\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 136, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "create", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateKeysResponse", + "docstring": "Create a new API key\n\nCreate a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param name: Name for the new API key\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param limit: Optional spending limit for the API key in USD\n:param limit_reset: Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n:param include_byok_in_limit: Whether to include BYOK usage in the limit\n:param expires_at: Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 256, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "create_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateKeysResponse", + "docstring": "Create a new API key\n\nCreate a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param name: Name for the new API key\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param limit: Optional spending limit for the API key in USD\n:param limit_reset: Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n:param include_byok_in_limit: Whether to include BYOK usage in the limit\n:param expires_at: Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 399, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "update", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.UpdateKeysResponse", + "docstring": "Update an API key\n\nUpdate an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to update\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param name: New name for the API key\n:param disabled: Whether to disable the API key\n:param limit: New spending limit for the API key in USD\n:param limit_reset: New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n:param include_byok_in_limit: Whether to include BYOK usage in the limit\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 542, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "update_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.UpdateKeysResponse", + "docstring": "Update an API key\n\nUpdate an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to update\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param name: New name for the API key\n:param disabled: Whether to disable the API key\n:param limit: New spending limit for the API key in USD\n:param limit_reset: New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n:param include_byok_in_limit: Whether to include BYOK usage in the limit\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 693, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "delete", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.DeleteKeysResponse", + "docstring": "Delete an API key\n\nDelete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to delete\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 844, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "delete_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.DeleteKeysResponse", + "docstring": "Delete an API key\n\nDelete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to delete\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 966, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "get", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetKeyResponse", + "docstring": "Get a single API key\n\nGet a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to retrieve\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1088, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetKeyResponse", + "docstring": "Get a single API key\n\nGet a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param hash: The hash identifier of the API key to retrieve\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1210, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "get_current_key_metadata", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetCurrentKeyResponse", + "docstring": "Get current API key\n\nGet information on the API key associated with the current authentication session\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1332, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_current_key_metadata_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetCurrentKeyResponse", + "docstring": "Get current API key\n\nGet information on the API key associated with the current authentication session\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1441, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "API key management endpoints", + "line_number": 13 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "datetime", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/basesdk.py", + "language": "Python", + "classes": [ + { + "name": "BaseSDK", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "sdk_config", + "type_hint": "SDKConfiguration", + "default": null + }, + { + "name": "parent_ref", + "type_hint": "Optional[object]", + "default": "None" + } + ], + "return_type": "None", + "docstring": null, + "line_number": 24, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "_get_url", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "base_url", + "type_hint": null, + "default": null + }, + { + "name": "url_variables", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 32, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "_build_request_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "method", + "type_hint": null, + "default": null + }, + { + "name": "path", + "type_hint": null, + "default": null + }, + { + "name": "base_url", + "type_hint": null, + "default": null + }, + { + "name": "url_variables", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": null, + "default": null + }, + { + "name": "request_body_required", + "type_hint": null, + "default": null + }, + { + "name": "request_has_path_params", + "type_hint": null, + "default": null + }, + { + "name": "request_has_query_params", + "type_hint": null, + "default": null + }, + { + "name": "user_agent_header", + "type_hint": null, + "default": null + }, + { + "name": "accept_header_value", + "type_hint": null, + "default": null + }, + { + "name": "_globals", + "type_hint": null, + "default": "None" + }, + { + "name": "security", + "type_hint": null, + "default": "None" + }, + { + "name": "timeout_ms", + "type_hint": "Optional[int]", + "default": "None" + }, + { + "name": "get_serialized_body", + "type_hint": "Optional[Callable[[], Optional[SerializedRequestBody]]]", + "default": "None" + }, + { + "name": "url_override", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "http_headers", + "type_hint": "Optional[Mapping[str, str]]", + "default": "None" + }, + { + "name": "allow_empty_value", + "type_hint": "Optional[List[str]]", + "default": "None" + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 43, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "_build_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "method", + "type_hint": null, + "default": null + }, + { + "name": "path", + "type_hint": null, + "default": null + }, + { + "name": "base_url", + "type_hint": null, + "default": null + }, + { + "name": "url_variables", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": null, + "default": null + }, + { + "name": "request_body_required", + "type_hint": null, + "default": null + }, + { + "name": "request_has_path_params", + "type_hint": null, + "default": null + }, + { + "name": "request_has_query_params", + "type_hint": null, + "default": null + }, + { + "name": "user_agent_header", + "type_hint": null, + "default": null + }, + { + "name": "accept_header_value", + "type_hint": null, + "default": null + }, + { + "name": "_globals", + "type_hint": null, + "default": "None" + }, + { + "name": "security", + "type_hint": null, + "default": "None" + }, + { + "name": "timeout_ms", + "type_hint": "Optional[int]", + "default": "None" + }, + { + "name": "get_serialized_body", + "type_hint": "Optional[Callable[[], Optional[SerializedRequestBody]]]", + "default": "None" + }, + { + "name": "url_override", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "http_headers", + "type_hint": "Optional[Mapping[str, str]]", + "default": "None" + }, + { + "name": "allow_empty_value", + "type_hint": "Optional[List[str]]", + "default": "None" + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 87, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "_build_request_with_client", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "client", + "type_hint": null, + "default": null + }, + { + "name": "method", + "type_hint": null, + "default": null + }, + { + "name": "path", + "type_hint": null, + "default": null + }, + { + "name": "base_url", + "type_hint": null, + "default": null + }, + { + "name": "url_variables", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": null, + "default": null + }, + { + "name": "request_body_required", + "type_hint": null, + "default": null + }, + { + "name": "request_has_path_params", + "type_hint": null, + "default": null + }, + { + "name": "request_has_query_params", + "type_hint": null, + "default": null + }, + { + "name": "user_agent_header", + "type_hint": null, + "default": null + }, + { + "name": "accept_header_value", + "type_hint": null, + "default": null + }, + { + "name": "_globals", + "type_hint": null, + "default": "None" + }, + { + "name": "security", + "type_hint": null, + "default": "None" + }, + { + "name": "timeout_ms", + "type_hint": "Optional[int]", + "default": "None" + }, + { + "name": "get_serialized_body", + "type_hint": "Optional[Callable[[], Optional[SerializedRequestBody]]]", + "default": "None" + }, + { + "name": "url_override", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "http_headers", + "type_hint": "Optional[Mapping[str, str]]", + "default": "None" + }, + { + "name": "allow_empty_value", + "type_hint": "Optional[List[str]]", + "default": "None" + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 131, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "do_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": null, + "default": null + }, + { + "name": "error_status_codes", + "type_hint": null, + "default": null + }, + { + "name": "stream", + "type_hint": null, + "default": "False" + }, + { + "name": "retry_config", + "type_hint": "Optional[Tuple[RetryConfig, List[str]]]", + "default": "None" + } + ], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 226, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "do_request_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "hook_ctx", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": null, + "default": null + }, + { + "name": "error_status_codes", + "type_hint": null, + "default": null + }, + { + "name": "stream", + "type_hint": null, + "default": "False" + }, + { + "name": "retry_config", + "type_hint": "Optional[Tuple[RetryConfig, List[str]]]", + "default": "None" + } + ], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 300, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 16 + } + ], + "functions": [ + { + "name": "do", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 239, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "do", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 313, + "is_async": true, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 171, + "text": "Pick up the query parameter from the override so they can be", + "type": "inline" + }, + { + "line": 172, + "text": "preserved when building the request later on (necessary as of", + "type": "inline" + }, + { + "line": 173, + "text": "httpx 0.28).", + "type": "inline" + } + ], + "imports": [ + "sdkconfiguration", + "httpx", + "openrouter", + "openrouter._hooks", + "openrouter.utils", + "typing", + "urllib.parse" + ] + }, + { + "file": "src/openrouter/beta.py", + "language": "Python", + "classes": [ + { + "name": "Beta", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "sdk_config", + "type_hint": "SDKConfiguration", + "default": null + }, + { + "name": "parent_ref", + "type_hint": "Optional[object]", + "default": "None" + } + ], + "return_type": "None", + "docstring": null, + "line_number": 13, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "_init_sdks", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 20, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 9 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "sdkconfiguration", + "openrouter.responses", + "typing" + ] + }, + { + "file": "src/openrouter/chat.py", + "language": "Python", + "classes": [ + { + "name": "SendAcceptEnum", + "base_classes": [ + "str", + "Enum" + ], + "methods": [], + "docstring": null, + "line_number": 13 + }, + { + "name": "Chat", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ChatResponse", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 20, + "is_async": false, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "eventstreaming.EventStream[components.ChatStreamingResponseChunk]", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 144, + "is_async": false, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.SendChatCompletionRequestResponse", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 267, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ChatResponse", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 652, + "is_async": true, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 776, + "is_async": true, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.SendChatCompletionRequestResponse", + "docstring": "Create a chat completion\n\nSends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.\n\n:param messages: List of messages for the conversation\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: Unique user identifier\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param model: Model to use for completion\n:param models: Models to use for completion\n:param frequency_penalty: Frequency penalty (-2.0 to 2.0)\n:param logit_bias: Token logit bias adjustments\n:param logprobs: Return log probabilities\n:param top_logprobs: Number of top log probabilities to return (0-20)\n:param max_completion_tokens: Maximum tokens in completion\n:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens)\n:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)\n:param presence_penalty: Presence penalty (-2.0 to 2.0)\n:param reasoning: Configuration options for reasoning models\n:param response_format: Response format configuration\n:param seed: Random seed for deterministic outputs\n:param stop: Stop sequences (up to 4)\n:param stream: Enable streaming response\n:param stream_options: Streaming configuration options\n:param temperature: Sampling temperature (0-2)\n:param parallel_tool_calls:\n:param tool_choice: Tool choice configuration\n:param tools: Available tools for function calling\n:param top_p: Nucleus sampling parameter (0-1)\n:param debug: Debug options for inspecting request transformations (streaming only)\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 899, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "enum", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/components/__init__.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "dynamic_import", + "parameters": [ + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 2380, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "attr_name", + "type_hint": "str", + "default": null + } + ], + "return_type": "object", + "docstring": null, + "line_number": 2392, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 2413, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 2385, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "typing", + "importlib", + "builtins", + "sys", + "activityitem", + "assistantmessage", + "assistantmessageimages", + "badgatewayresponseerrordata", + "badrequestresponseerrordata", + "chatcompletionfinishreason", + "chatgenerationparams", + "chatgenerationtokenusage", + "chatmessagecontentitem", + "chatmessagecontentitemaudio", + "chatmessagecontentitemcachecontrol", + "chatmessagecontentitemimage", + "chatmessagecontentitemtext", + "chatmessagecontentitemvideo", + "chatmessagecontentitemvideolegacy", + "chatmessagetokenlogprob", + "chatmessagetokenlogprobs", + "chatmessagetoolcall", + "chatresponse", + "chatresponsechoice", + "chatstreamingchoice", + "chatstreamingmessagechunk", + "chatstreamingmessagetoolcall", + "chatstreamingresponsechunk", + "chatstreamoptions", + "createchargerequest", + "datacollection", + "debugoptions", + "defaultparameters", + "developermessage", + "edgenetworktimeoutresponseerrordata", + "endpointstatus", + "filecitation", + "filepath", + "forbiddenresponseerrordata", + "imagegenerationstatus", + "inputmodality", + "instructtype", + "internalserverresponseerrordata", + "jsonschemaconfig", + "listendpointsresponse", + "message", + "model", + "modelarchitecture", + "modelgroup", + "modelscountresponse", + "modelslistresponse", + "namedtoolchoice", + "notfoundresponseerrordata", + "openairesponsesannotation", + "openairesponsesincludable", + "openairesponsesincompletedetails", + "openairesponsesinput_union", + "openairesponsesprompt", + "openairesponsesreasoningconfig", + "openairesponsesreasoningeffort", + "openairesponsesrefusalcontent", + "openairesponsesresponsestatus", + "openairesponsesservicetier", + "openairesponsestoolchoice_union", + "openairesponsestruncation", + "openresponseseasyinputmessage", + "openresponseserrorevent", + "openresponsesfunctioncalloutput", + "openresponsesfunctiontoolcall", + "openresponsesimagegencallcompleted", + "openresponsesimagegencallgenerating", + "openresponsesimagegencallinprogress", + "openresponsesimagegencallpartialimage", + "openresponsesinput", + "openresponsesinputmessageitem", + "openresponseslogprobs", + "openresponsesnonstreamingresponse", + "openresponsesreasoning", + "openresponsesreasoningconfig", + "openresponsesreasoningdeltaevent", + "openresponsesreasoningdoneevent", + "openresponsesreasoningsummarypartaddedevent", + "openresponsesreasoningsummarytextdeltaevent", + "openresponsesreasoningsummarytextdoneevent", + "openresponsesrequest", + "openresponsesresponsetext", + "openresponsesstreamevent", + "openresponsestoplogprobs", + "openresponsesusage", + "openresponseswebsearch20250826tool", + "openresponseswebsearchpreview20250311tool", + "openresponseswebsearchpreviewtool", + "openresponseswebsearchtool", + "outputitemimagegenerationcall", + "outputmessage", + "outputmodality", + "parameter", + "payloadtoolargeresponseerrordata", + "paymentrequiredresponseerrordata", + "pdfparserengine", + "pdfparseroptions", + "percentilelatencycutoffs", + "percentilestats", + "percentilethroughputcutoffs", + "perrequestlimits", + "preferredmaxlatency", + "preferredminthroughput", + "providername", + "provideroverloadedresponseerrordata", + "providerpreferences", + "providersort", + "providersortconfig", + "publicendpoint", + "publicpricing", + "quantization", + "reasoningdetailencrypted", + "reasoningdetailsummary", + "reasoningdetailtext", + "reasoningdetailunion", + "reasoningsummarytext", + "reasoningsummaryverbosity", + "reasoningtextcontent", + "requesttimeoutresponseerrordata", + "responseformatjsonobject", + "responseformatjsonschema", + "responseformattext", + "responseformattextconfig", + "responseformattextgrammar", + "responseformattextpython", + "responseinputaudio", + "responseinputfile", + "responseinputimage", + "responseinputtext", + "responseinputvideo", + "responseoutputtext", + "responseserrorfield", + "responsesformattext", + "responsesformattextjsonschemaconfig", + "responsesimagegenerationcall", + "responsesoutputitem", + "responsesoutputitemfilesearchcall", + "responsesoutputitemfunctioncall", + "responsesoutputitemreasoning", + "responsesoutputmessage", + "responsesoutputmodality", + "responsessearchcontextsize", + "responseswebsearchcalloutput", + "responseswebsearchuserlocation", + "responsetextconfig", + "security", + "serviceunavailableresponseerrordata", + "systemmessage", + "toolcallstatus", + "toolchoiceoption", + "tooldefinitionjson", + "toolresponsemessage", + "toomanyrequestsresponseerrordata", + "topproviderinfo", + "unauthorizedresponseerrordata", + "unprocessableentityresponseerrordata", + "urlcitation", + "usermessage", + "videoinput", + "websearchengine", + "websearchpreviewtooluserlocation", + "websearchstatus" + ] + }, + { + "file": "src/openrouter/components/activityitem.py", + "language": "Python", + "classes": [ + { + "name": "ActivityItemTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 9 + }, + { + "name": "ActivityItem", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 34 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/assistantmessage.py", + "language": "Python", + "classes": [ + { + "name": "AssistantMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Assistant message for requests and responses", + "line_number": 42 + }, + { + "name": "AssistantMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 89, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Assistant message for requests and responses", + "line_number": 62 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "assistantmessageimages", + "chatmessagecontentitem", + "chatmessagetoolcall", + "reasoningdetailunion", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/assistantmessageimages.py", + "language": "Python", + "classes": [ + { + "name": "AssistantMessageImagesImageURLTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 8 + }, + { + "name": "AssistantMessageImagesImageURL", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 13 + }, + { + "name": "AssistantMessageImagesTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 18 + }, + { + "name": "AssistantMessageImages", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/badgatewayresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "BadGatewayResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for BadGatewayResponse", + "line_number": 16 + }, + { + "name": "BadGatewayResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for BadGatewayResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/badrequestresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "BadRequestResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for BadRequestResponse", + "line_number": 16 + }, + { + "name": "BadRequestResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for BadRequestResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatcompletionfinishreason.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/chatgenerationparams.py", + "language": "Python", + "classes": [ + { + "name": "ChatGenerationParamsProviderSortConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 123 + }, + { + "name": "ChatGenerationParamsProviderSortConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 144, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 130 + }, + { + "name": "ChatGenerationParamsMaxPriceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 229 + }, + { + "name": "ChatGenerationParamsMaxPrice", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 240 + }, + { + "name": "ChatGenerationParamsProviderTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "When multiple model providers are available, optionally indicate your routing preference.", + "line_number": 255 + }, + { + "name": "ChatGenerationParamsProvider", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 347, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "When multiple model providers are available, optionally indicate your routing preference.", + "line_number": 293 + }, + { + "name": "ChatGenerationParamsPluginResponseHealingTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 407 + }, + { + "name": "ChatGenerationParamsPluginResponseHealing", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 413 + }, + { + "name": "ChatGenerationParamsPluginFileParserTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 423 + }, + { + "name": "ChatGenerationParamsPluginFileParser", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 431 + }, + { + "name": "ChatGenerationParamsPluginWebTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 444 + }, + { + "name": "ChatGenerationParamsPluginWeb", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 454 + }, + { + "name": "ChatGenerationParamsPluginModerationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 473 + }, + { + "name": "ChatGenerationParamsPluginModeration", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 477 + }, + { + "name": "ChatGenerationParamsPluginAutoRouterTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 484 + }, + { + "name": "ChatGenerationParamsPluginAutoRouter", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 492 + }, + { + "name": "ChatGenerationParamsTraceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "line_number": 526 + }, + { + "name": "ChatGenerationParamsTrace", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "additional_properties", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 555, + "is_async": false, + "is_method": true, + "decorators": [ + "property" + ] + }, + { + "name": "additional_properties", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "value", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 559, + "is_async": false, + "is_method": true, + "decorators": [ + "additional_properties.setter" + ] + } + ], + "docstring": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "line_number": 536 + }, + { + "name": "ReasoningTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Configuration options for reasoning models", + "line_number": 577 + }, + { + "name": "Reasoning", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 596, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Configuration options for reasoning models", + "line_number": 585 + }, + { + "name": "ChatGenerationParamsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Chat completion request parameters", + "line_number": 679 + }, + { + "name": "ChatGenerationParams", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 838, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Chat completion request parameters", + "line_number": 743 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatstreamoptions", + "datacollection", + "debugoptions", + "message", + "pdfparseroptions", + "preferredmaxlatency", + "preferredminthroughput", + "providername", + "quantization", + "responseformatjsonobject", + "responseformatjsonschema", + "responseformattext", + "responseformattextgrammar", + "responseformattextpython", + "toolchoiceoption", + "tooldefinitionjson", + "websearchengine", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatgenerationtokenusage.py", + "language": "Python", + "classes": [ + { + "name": "CompletionTokensDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Detailed completion token usage", + "line_number": 16 + }, + { + "name": "CompletionTokensDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 45, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Detailed completion token usage", + "line_number": 29 + }, + { + "name": "PromptTokensDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Detailed prompt token usage", + "line_number": 85 + }, + { + "name": "PromptTokensDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Detailed prompt token usage", + "line_number": 98 + }, + { + "name": "ChatGenerationTokenUsageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Token usage statistics", + "line_number": 114 + }, + { + "name": "ChatGenerationTokenUsage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 148, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Token usage statistics", + "line_number": 129 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitem.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitemaudio", + "chatmessagecontentitemimage", + "chatmessagecontentitemtext", + "chatmessagecontentitemvideo", + "chatmessagecontentitemvideolegacy", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemaudio.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemAudioInputAudioTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 13 + }, + { + "name": "ChatMessageContentItemAudioInputAudio", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 20 + }, + { + "name": "ChatMessageContentItemAudioTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Audio input content part. Supported audio formats vary by provider.", + "line_number": 28 + }, + { + "name": "ChatMessageContentItemAudio", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Audio input content part. Supported audio formats vary by provider.", + "line_number": 35 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemcachecontrol.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemCacheControlTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Cache control for the content part", + "line_number": 23 + }, + { + "name": "ChatMessageContentItemCacheControl", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Cache control for the content part", + "line_number": 30 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemimage.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemImageImageURLTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 25 + }, + { + "name": "ChatMessageContentItemImageImageURL", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 32 + }, + { + "name": "ChatMessageContentItemImageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image content part for vision models", + "line_number": 43 + }, + { + "name": "ChatMessageContentItemImage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Image content part for vision models", + "line_number": 50 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemtext.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Text content part", + "line_number": 16 + }, + { + "name": "ChatMessageContentItemText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Text content part", + "line_number": 25 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitemcachecontrol", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemvideo.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemVideoTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Video input content part", + "line_number": 13 + }, + { + "name": "ChatMessageContentItemVideo", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Video input content part", + "line_number": 21 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "videoinput", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagecontentitemvideolegacy.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageContentItemVideoLegacyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Video input content part (legacy format - deprecated)", + "line_number": 16 + }, + { + "name": "ChatMessageContentItemVideoLegacy", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Video input content part (legacy format - deprecated)", + "line_number": 27 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "videoinput", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagetokenlogprob.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageTokenLogprobTopLogprobTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "ChatMessageTokenLogprobTopLogprob", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 25, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 17 + }, + { + "name": "ChatMessageTokenLogprobTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Token log probability information", + "line_number": 55 + }, + { + "name": "ChatMessageTokenLogprob", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 84, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Token log probability information", + "line_number": 68 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagetokenlogprobs.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageTokenLogprobsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Log probabilities for the completion", + "line_number": 14 + }, + { + "name": "ChatMessageTokenLogprobs", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Log probabilities for the completion", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagetokenlogprob", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatmessagetoolcall.py", + "language": "Python", + "classes": [ + { + "name": "ChatMessageToolCallFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ChatMessageToolCallFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "ChatMessageToolCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Tool call made by the assistant", + "line_number": 27 + }, + { + "name": "ChatMessageToolCall", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Tool call made by the assistant", + "line_number": 36 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatresponse.py", + "language": "Python", + "classes": [ + { + "name": "ChatResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Chat completion response", + "line_number": 24 + }, + { + "name": "ChatResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 66, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Chat completion response", + "line_number": 42 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatgenerationtokenusage", + "chatresponsechoice", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatresponsechoice.py", + "language": "Python", + "classes": [ + { + "name": "ChatResponseChoiceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Chat completion choice", + "line_number": 21 + }, + { + "name": "ChatResponseChoice", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Chat completion choice", + "line_number": 33 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "assistantmessage", + "chatmessagetokenlogprobs", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatstreamingchoice.py", + "language": "Python", + "classes": [ + { + "name": "ChatStreamingChoiceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Streaming completion choice chunk", + "line_number": 24 + }, + { + "name": "ChatStreamingChoice", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 51, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Streaming completion choice chunk", + "line_number": 36 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagetokenlogprobs", + "chatstreamingmessagechunk", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatstreamingmessagechunk.py", + "language": "Python", + "classes": [ + { + "name": "ChatStreamingMessageChunkTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Delta changes in streaming response", + "line_number": 25 + }, + { + "name": "ChatStreamingMessageChunk", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 64, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Delta changes in streaming response", + "line_number": 42 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatstreamingmessagetoolcall", + "reasoningdetailunion", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatstreamingmessagetoolcall.py", + "language": "Python", + "classes": [ + { + "name": "ChatStreamingMessageToolCallFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Function call details", + "line_number": 13 + }, + { + "name": "ChatStreamingMessageToolCallFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Function call details", + "line_number": 22 + }, + { + "name": "ChatStreamingMessageToolCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Tool call delta for streaming responses", + "line_number": 32 + }, + { + "name": "ChatStreamingMessageToolCall", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Tool call delta for streaming responses", + "line_number": 45 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatstreamingresponsechunk.py", + "language": "Python", + "classes": [ + { + "name": "ErrorTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error information", + "line_number": 24 + }, + { + "name": "Error", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Error information", + "line_number": 33 + }, + { + "name": "ChatStreamingResponseChunkTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Streaming chat completion chunk", + "line_number": 43 + }, + { + "name": "ChatStreamingResponseChunk", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 90, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Streaming chat completion chunk", + "line_number": 63 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatgenerationtokenusage", + "chatstreamingchoice", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/chatstreamoptions.py", + "language": "Python", + "classes": [ + { + "name": "ChatStreamOptionsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Streaming configuration options", + "line_number": 10 + }, + { + "name": "ChatStreamOptions", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Streaming configuration options", + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/createchargerequest.py", + "language": "Python", + "classes": [ + { + "name": "CreateChargeRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Create a Coinbase charge for crypto payment", + "line_number": 21 + }, + { + "name": "CreateChargeRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Create a Coinbase charge for crypto payment", + "line_number": 29 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/datacollection.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/debugoptions.py", + "language": "Python", + "classes": [ + { + "name": "DebugOptionsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Debug options for inspecting request transformations (streaming only)", + "line_number": 9 + }, + { + "name": "DebugOptions", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Debug options for inspecting request transformations (streaming only)", + "line_number": 16 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/defaultparameters.py", + "language": "Python", + "classes": [ + { + "name": "DefaultParametersTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Default parameters for this model", + "line_number": 15 + }, + { + "name": "DefaultParameters", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Default parameters for this model", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/developermessage.py", + "language": "Python", + "classes": [ + { + "name": "DeveloperMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Developer message", + "line_number": 29 + }, + { + "name": "DeveloperMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Developer message", + "line_number": 39 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitemtext", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/edgenetworktimeoutresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "EdgeNetworkTimeoutResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for EdgeNetworkTimeoutResponse", + "line_number": 16 + }, + { + "name": "EdgeNetworkTimeoutResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for EdgeNetworkTimeoutResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/endpointstatus.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/filecitation.py", + "language": "Python", + "classes": [ + { + "name": "FileCitationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "FileCitation", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 19 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/filepath.py", + "language": "Python", + "classes": [ + { + "name": "FilePathTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "FilePath", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/forbiddenresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "ForbiddenResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for ForbiddenResponse", + "line_number": 16 + }, + { + "name": "ForbiddenResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for ForbiddenResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/imagegenerationstatus.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/inputmodality.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/instructtype.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/internalserverresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "InternalServerResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for InternalServerResponse", + "line_number": 16 + }, + { + "name": "InternalServerResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for InternalServerResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/jsonschemaconfig.py", + "language": "Python", + "classes": [ + { + "name": "JSONSchemaConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "JSON Schema configuration object", + "line_number": 17 + }, + { + "name": "JSONSchemaConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "JSON Schema configuration object", + "line_number": 30 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/listendpointsresponse.py", + "language": "Python", + "classes": [ + { + "name": "ArchitectureTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Model architecture information", + "line_number": 43 + }, + { + "name": "Architecture", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 81, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Model architecture information", + "line_number": 57 + }, + { + "name": "ListEndpointsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of available endpoints for a model", + "line_number": 111 + }, + { + "name": "ListEndpointsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of available endpoints for a model", + "line_number": 127 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "inputmodality", + "instructtype", + "outputmodality", + "publicendpoint", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/message.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "assistantmessage", + "developermessage", + "systemmessage", + "toolresponsemessage", + "usermessage", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/model.py", + "language": "Python", + "classes": [ + { + "name": "ModelTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Information about an AI model available on OpenRouter", + "line_number": 24 + }, + { + "name": "Model", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 105, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Information about an AI model available on OpenRouter", + "line_number": 57 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "defaultparameters", + "modelarchitecture", + "parameter", + "perrequestlimits", + "publicpricing", + "topproviderinfo", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/modelarchitecture.py", + "language": "Python", + "classes": [ + { + "name": "ModelArchitectureTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Model architecture information", + "line_number": 52 + }, + { + "name": "ModelArchitecture", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 95, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Model architecture information", + "line_number": 67 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "inputmodality", + "modelgroup", + "outputmodality", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/modelgroup.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/modelscountresponse.py", + "language": "Python", + "classes": [ + { + "name": "DataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Model count data", + "line_number": 8 + }, + { + "name": "Data", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Model count data", + "line_number": 15 + }, + { + "name": "ModelsCountResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Model count data", + "line_number": 22 + }, + { + "name": "ModelsCountResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Model count data", + "line_number": 29 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/modelslistresponse.py", + "language": "Python", + "classes": [ + { + "name": "ModelsListResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of available models", + "line_number": 10 + }, + { + "name": "ModelsListResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of available models", + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "model", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/namedtoolchoice.py", + "language": "Python", + "classes": [ + { + "name": "NamedToolChoiceFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "NamedToolChoiceFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "NamedToolChoiceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Named tool choice for specific function", + "line_number": 22 + }, + { + "name": "NamedToolChoice", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Named tool choice for specific function", + "line_number": 29 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/notfoundresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "NotFoundResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for NotFoundResponse", + "line_number": 16 + }, + { + "name": "NotFoundResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for NotFoundResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesannotation.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "filecitation", + "filepath", + "urlcitation", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesincludable.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/openairesponsesincompletedetails.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesIncompleteDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 20 + }, + { + "name": "OpenAIResponsesIncompleteDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesinput_union.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesInputFunctionCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "OpenAIResponsesInputFunctionCall", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 56, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 40 + }, + { + "name": "OpenAIResponsesInputFunctionCallOutputTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 89 + }, + { + "name": "OpenAIResponsesInputFunctionCallOutput", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 111, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 97 + }, + { + "name": "OpenAIResponsesInputMessage2TypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 195 + }, + { + "name": "OpenAIResponsesInputMessage2", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 202 + }, + { + "name": "OpenAIResponsesInputMessage1TypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 282 + }, + { + "name": "OpenAIResponsesInputMessage1", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 288 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "outputitemimagegenerationcall", + "outputmessage", + "responseinputaudio", + "responseinputfile", + "responseinputimage", + "responseinputtext", + "toolcallstatus", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesprompt.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesPromptTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 35 + }, + { + "name": "OpenAIResponsesPrompt", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 46, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 40 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseinputfile", + "responseinputimage", + "responseinputtext", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesreasoningconfig.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesReasoningConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "OpenAIResponsesReasoningConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 36, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesreasoningeffort", + "reasoningsummaryverbosity", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesreasoningeffort.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/openairesponsesrefusalcontent.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesRefusalContentTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "OpenAIResponsesRefusalContent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsesresponsestatus.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/openairesponsesservicetier.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/openairesponsestoolchoice_union.py", + "language": "Python", + "classes": [ + { + "name": "OpenAIResponsesToolChoiceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 35 + }, + { + "name": "OpenAIResponsesToolChoice", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 39 + }, + { + "name": "OpenAIResponsesToolChoiceFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 46 + }, + { + "name": "OpenAIResponsesToolChoiceFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 51 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openairesponsestruncation.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/openresponseseasyinputmessage.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesEasyInputMessageContentInputImageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image input content item", + "line_number": 73 + }, + { + "name": "OpenResponsesEasyInputMessageContentInputImage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 93, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Image input content item", + "line_number": 81 + }, + { + "name": "OpenResponsesEasyInputMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 159 + }, + { + "name": "OpenResponsesEasyInputMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 165 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseinputaudio", + "responseinputfile", + "responseinputtext", + "responseinputvideo", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseserrorevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesErrorEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when an error occurs during streaming", + "line_number": 13 + }, + { + "name": "OpenResponsesErrorEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 37, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Event emitted when an error occurs during streaming", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesfunctioncalloutput.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesFunctionCallOutputTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The output from a function call execution", + "line_number": 22 + }, + { + "name": "OpenResponsesFunctionCallOutput", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The output from a function call execution", + "line_number": 32 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "toolcallstatus", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesfunctiontoolcall.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesFunctionToolCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "A function call initiated by the model", + "line_number": 22 + }, + { + "name": "OpenResponsesFunctionToolCall", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 51, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "A function call initiated by the model", + "line_number": 33 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "toolcallstatus", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesimagegencallcompleted.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesImageGenCallCompletedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image generation call completed", + "line_number": 14 + }, + { + "name": "OpenResponsesImageGenCallCompleted", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Image generation call completed", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesimagegencallgenerating.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesImageGenCallGeneratingTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image generation call is generating", + "line_number": 14 + }, + { + "name": "OpenResponsesImageGenCallGenerating", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Image generation call is generating", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesimagegencallinprogress.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesImageGenCallInProgressTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image generation call in progress", + "line_number": 14 + }, + { + "name": "OpenResponsesImageGenCallInProgress", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Image generation call in progress", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesimagegencallpartialimage.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesImageGenCallPartialImageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image generation call with partial image", + "line_number": 14 + }, + { + "name": "OpenResponsesImageGenCallPartialImage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Image generation call with partial image", + "line_number": 25 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesinput.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openresponseseasyinputmessage", + "openresponsesfunctioncalloutput", + "openresponsesfunctiontoolcall", + "openresponsesinputmessageitem", + "openresponsesreasoning", + "responsesimagegenerationcall", + "responsesoutputitemfilesearchcall", + "responsesoutputitemfunctioncall", + "responsesoutputitemreasoning", + "responsesoutputmessage", + "responseswebsearchcalloutput", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesinputmessageitem.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesInputMessageItemContentInputImageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image input content item", + "line_number": 68 + }, + { + "name": "OpenResponsesInputMessageItemContentInputImage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 88, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Image input content item", + "line_number": 76 + }, + { + "name": "OpenResponsesInputMessageItemTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 142 + }, + { + "name": "OpenResponsesInputMessageItem", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 149 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseinputaudio", + "responseinputfile", + "responseinputtext", + "responseinputvideo", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseslogprobs.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesLogProbsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Log probability information for a token", + "line_number": 13 + }, + { + "name": "OpenResponsesLogProbs", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Log probability information for a token", + "line_number": 21 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openresponsestoplogprobs", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesnonstreamingresponse.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesNonStreamingResponseToolFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Function tool definition", + "line_number": 64 + }, + { + "name": "OpenResponsesNonStreamingResponseToolFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 88, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Function tool definition", + "line_number": 74 + }, + { + "name": "OpenResponsesNonStreamingResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Complete non-streaming response from the Responses API", + "line_number": 145 + }, + { + "name": "OpenResponsesNonStreamingResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 272, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Complete non-streaming response from the Responses API", + "line_number": 188 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesincompletedetails", + "openairesponsesinput_union", + "openairesponsesprompt", + "openairesponsesreasoningconfig", + "openairesponsesresponsestatus", + "openairesponsesservicetier", + "openairesponsestoolchoice_union", + "openairesponsestruncation", + "openresponsesusage", + "openresponseswebsearch20250826tool", + "openresponseswebsearchpreview20250311tool", + "openresponseswebsearchpreviewtool", + "openresponseswebsearchtool", + "responseserrorfield", + "responsesoutputitem", + "responsetextconfig", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoning.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Reasoning output item with signature and format extensions", + "line_number": 67 + }, + { + "name": "OpenResponsesReasoning", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 106, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Reasoning output item with signature and format extensions", + "line_number": 80 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "reasoningsummarytext", + "reasoningtextcontent", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningconfig.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Configuration for reasoning mode in the response", + "line_number": 19 + }, + { + "name": "OpenResponsesReasoningConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 46, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Configuration for reasoning mode in the response", + "line_number": 28 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesreasoningeffort", + "reasoningsummaryverbosity", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningdeltaevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningDeltaEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when reasoning text delta is streamed", + "line_number": 12 + }, + { + "name": "OpenResponsesReasoningDeltaEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when reasoning text delta is streamed", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningdoneevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningDoneEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when reasoning text streaming is complete", + "line_number": 12 + }, + { + "name": "OpenResponsesReasoningDoneEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when reasoning text streaming is complete", + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarypartaddedevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningSummaryPartAddedEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a reasoning summary part is added", + "line_number": 15 + }, + { + "name": "OpenResponsesReasoningSummaryPartAddedEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a reasoning summary part is added", + "line_number": 26 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "reasoningsummarytext", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarytextdeltaevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningSummaryTextDeltaEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when reasoning summary text delta is streamed", + "line_number": 14 + }, + { + "name": "OpenResponsesReasoningSummaryTextDeltaEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when reasoning summary text delta is streamed", + "line_number": 25 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarytextdoneevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesReasoningSummaryTextDoneEventTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when reasoning summary text streaming is complete", + "line_number": 14 + }, + { + "name": "OpenResponsesReasoningSummaryTextDoneEvent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when reasoning summary text streaming is complete", + "line_number": 25 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesrequest.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesRequestToolFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Function tool definition", + "line_number": 67 + }, + { + "name": "OpenResponsesRequestToolFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 91, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Function tool definition", + "line_number": 77 + }, + { + "name": "OpenResponsesRequestMaxPriceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 221 + }, + { + "name": "OpenResponsesRequestMaxPrice", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 232 + }, + { + "name": "OpenResponsesRequestProviderTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "When multiple model providers are available, optionally indicate your routing preference.", + "line_number": 247 + }, + { + "name": "OpenResponsesRequestProvider", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 341, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "When multiple model providers are available, optionally indicate your routing preference.", + "line_number": 286 + }, + { + "name": "OpenResponsesRequestPluginResponseHealingTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 401 + }, + { + "name": "OpenResponsesRequestPluginResponseHealing", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 407 + }, + { + "name": "OpenResponsesRequestPluginFileParserTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 417 + }, + { + "name": "OpenResponsesRequestPluginFileParser", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 425 + }, + { + "name": "OpenResponsesRequestPluginWebTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 438 + }, + { + "name": "OpenResponsesRequestPluginWeb", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 448 + }, + { + "name": "OpenResponsesRequestPluginModerationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 467 + }, + { + "name": "OpenResponsesRequestPluginModeration", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 471 + }, + { + "name": "OpenResponsesRequestPluginAutoRouterTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 478 + }, + { + "name": "OpenResponsesRequestPluginAutoRouter", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 486 + }, + { + "name": "OpenResponsesRequestTraceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "line_number": 520 + }, + { + "name": "OpenResponsesRequestTrace", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "additional_properties", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 549, + "is_async": false, + "is_method": true, + "decorators": [ + "property" + ] + }, + { + "name": "additional_properties", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "value", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 553, + "is_async": false, + "is_method": true, + "decorators": [ + "additional_properties.setter" + ] + } + ], + "docstring": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "line_number": 530 + }, + { + "name": "OpenResponsesRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Request schema for Responses endpoint", + "line_number": 557 + }, + { + "name": "OpenResponsesRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 710, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Request schema for Responses endpoint", + "line_number": 608 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datacollection", + "openairesponsesincludable", + "openairesponsesprompt", + "openairesponsestoolchoice_union", + "openresponsesinput", + "openresponsesreasoningconfig", + "openresponsesresponsetext", + "openresponseswebsearch20250826tool", + "openresponseswebsearchpreview20250311tool", + "openresponseswebsearchpreviewtool", + "openresponseswebsearchtool", + "pdfparseroptions", + "preferredmaxlatency", + "preferredminthroughput", + "providername", + "providersort", + "providersortconfig", + "quantization", + "responsesoutputmodality", + "websearchengine", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesresponsetext.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesResponseTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Text output configuration including format and verbosity", + "line_number": 34 + }, + { + "name": "OpenResponsesResponseText", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 56, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Text output configuration including format and verbosity", + "line_number": 42 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseformattextconfig", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesstreamevent.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a reasoning summary part is complete", + "line_number": 71 + }, + { + "name": "OpenResponsesStreamEventResponseReasoningSummaryPartDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a reasoning summary part is complete", + "line_number": 82 + }, + { + "name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when function call arguments streaming is complete", + "line_number": 103 + }, + { + "name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when function call arguments streaming is complete", + "line_number": 114 + }, + { + "name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when function call arguments are being streamed", + "line_number": 135 + }, + { + "name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDelta", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when function call arguments are being streamed", + "line_number": 145 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a text annotation is added to output", + "line_number": 164 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextAnnotationAdded", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a text annotation is added to output", + "line_number": 176 + }, + { + "name": "OpenResponsesStreamEventResponseRefusalDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when refusal streaming is complete", + "line_number": 197 + }, + { + "name": "OpenResponsesStreamEventResponseRefusalDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when refusal streaming is complete", + "line_number": 208 + }, + { + "name": "OpenResponsesStreamEventResponseRefusalDeltaTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a refusal delta is streamed", + "line_number": 227 + }, + { + "name": "OpenResponsesStreamEventResponseRefusalDelta", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a refusal delta is streamed", + "line_number": 238 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when text streaming is complete", + "line_number": 257 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when text streaming is complete", + "line_number": 269 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextDeltaTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a text delta is streamed", + "line_number": 290 + }, + { + "name": "OpenResponsesStreamEventResponseOutputTextDelta", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a text delta is streamed", + "line_number": 302 + }, + { + "name": "OpenResponsesStreamEventResponseContentPartDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a content part is complete", + "line_number": 343 + }, + { + "name": "OpenResponsesStreamEventResponseContentPartDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a content part is complete", + "line_number": 354 + }, + { + "name": "OpenResponsesStreamEventResponseContentPartAddedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a new content part is added to an output item", + "line_number": 393 + }, + { + "name": "OpenResponsesStreamEventResponseContentPartAdded", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a new content part is added to an output item", + "line_number": 404 + }, + { + "name": "OpenResponsesStreamEventResponseOutputItemDoneTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when an output item is complete", + "line_number": 423 + }, + { + "name": "OpenResponsesStreamEventResponseOutputItemDone", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when an output item is complete", + "line_number": 433 + }, + { + "name": "OpenResponsesStreamEventResponseOutputItemAddedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a new output item is added to the response", + "line_number": 449 + }, + { + "name": "OpenResponsesStreamEventResponseOutputItemAdded", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a new output item is added to the response", + "line_number": 459 + }, + { + "name": "OpenResponsesStreamEventResponseFailedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a response has failed", + "line_number": 475 + }, + { + "name": "OpenResponsesStreamEventResponseFailed", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a response has failed", + "line_number": 484 + }, + { + "name": "OpenResponsesStreamEventResponseIncompleteTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a response is incomplete", + "line_number": 498 + }, + { + "name": "OpenResponsesStreamEventResponseIncomplete", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a response is incomplete", + "line_number": 507 + }, + { + "name": "OpenResponsesStreamEventResponseCompletedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a response has completed successfully", + "line_number": 521 + }, + { + "name": "OpenResponsesStreamEventResponseCompleted", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a response has completed successfully", + "line_number": 530 + }, + { + "name": "OpenResponsesStreamEventResponseInProgressTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a response is in progress", + "line_number": 544 + }, + { + "name": "OpenResponsesStreamEventResponseInProgress", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a response is in progress", + "line_number": 553 + }, + { + "name": "OpenResponsesStreamEventResponseCreatedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Event emitted when a response is created", + "line_number": 567 + }, + { + "name": "OpenResponsesStreamEventResponseCreated", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Event emitted when a response is created", + "line_number": 576 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesannotation", + "openairesponsesrefusalcontent", + "openresponseserrorevent", + "openresponsesimagegencallcompleted", + "openresponsesimagegencallgenerating", + "openresponsesimagegencallinprogress", + "openresponsesimagegencallpartialimage", + "openresponseslogprobs", + "openresponsesnonstreamingresponse", + "openresponsesreasoningdeltaevent", + "openresponsesreasoningdoneevent", + "openresponsesreasoningsummarypartaddedevent", + "openresponsesreasoningsummarytextdeltaevent", + "openresponsesreasoningsummarytextdoneevent", + "reasoningsummarytext", + "reasoningtextcontent", + "responseoutputtext", + "responsesoutputitem", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsestoplogprobs.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesTopLogprobsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Alternative token with its log probability", + "line_number": 9 + }, + { + "name": "OpenResponsesTopLogprobs", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Alternative token with its log probability", + "line_number": 16 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponsesusage.py", + "language": "Python", + "classes": [ + { + "name": "InputTokensDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "InputTokensDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 20 + }, + { + "name": "OutputTokensDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "OutputTokensDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 28 + }, + { + "name": "CostDetailsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 32 + }, + { + "name": "CostDetails", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 46, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 38 + }, + { + "name": "OpenResponsesUsageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Token usage information for the response", + "line_number": 76 + }, + { + "name": "OpenResponsesUsage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 113, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Token usage information for the response", + "line_number": 91 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseswebsearch20250826tool.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesWebSearch20250826ToolFiltersTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "OpenResponsesWebSearch20250826ToolFilters", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 30 + }, + { + "name": "OpenResponsesWebSearch20250826ToolTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Web search tool configuration (2025-08-26 version)", + "line_number": 64 + }, + { + "name": "OpenResponsesWebSearch20250826Tool", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 91, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Web search tool configuration (2025-08-26 version)", + "line_number": 75 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responsessearchcontextsize", + "responseswebsearchuserlocation", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseswebsearchpreview20250311tool.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesWebSearchPreview20250311ToolTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Web search preview tool configuration (2025-03-11 version)", + "line_number": 28 + }, + { + "name": "OpenResponsesWebSearchPreview20250311Tool", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 50, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Web search preview tool configuration (2025-03-11 version)", + "line_number": 37 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responsessearchcontextsize", + "websearchpreviewtooluserlocation", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseswebsearchpreviewtool.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesWebSearchPreviewToolTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Web search preview tool configuration", + "line_number": 26 + }, + { + "name": "OpenResponsesWebSearchPreviewTool", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Web search preview tool configuration", + "line_number": 35 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responsessearchcontextsize", + "websearchpreviewtooluserlocation", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/openresponseswebsearchtool.py", + "language": "Python", + "classes": [ + { + "name": "OpenResponsesWebSearchToolFiltersTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "OpenResponsesWebSearchToolFilters", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 30 + }, + { + "name": "OpenResponsesWebSearchToolTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Web search tool configuration", + "line_number": 64 + }, + { + "name": "OpenResponsesWebSearchTool", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 91, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Web search tool configuration", + "line_number": 75 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responsessearchcontextsize", + "responseswebsearchuserlocation", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/outputitemimagegenerationcall.py", + "language": "Python", + "classes": [ + { + "name": "OutputItemImageGenerationCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "OutputItemImageGenerationCall", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "imagegenerationstatus", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/outputmessage.py", + "language": "Python", + "classes": [ + { + "name": "OutputMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 66 + }, + { + "name": "OutputMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesrefusalcontent", + "responseoutputtext", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/outputmodality.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/parameter.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/payloadtoolargeresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "PayloadTooLargeResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for PayloadTooLargeResponse", + "line_number": 16 + }, + { + "name": "PayloadTooLargeResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for PayloadTooLargeResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/paymentrequiredresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "PaymentRequiredResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for PaymentRequiredResponse", + "line_number": 16 + }, + { + "name": "PaymentRequiredResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for PaymentRequiredResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/pdfparserengine.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/pdfparseroptions.py", + "language": "Python", + "classes": [ + { + "name": "PDFParserOptionsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Options for PDF parsing.", + "line_number": 12 + }, + { + "name": "PDFParserOptions", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Options for PDF parsing.", + "line_number": 19 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "pdfparserengine", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/percentilelatencycutoffs.py", + "language": "Python", + "classes": [ + { + "name": "PercentileLatencyCutoffsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "line_number": 15 + }, + { + "name": "PercentileLatencyCutoffs", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 44, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "line_number": 28 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/percentilestats.py", + "language": "Python", + "classes": [ + { + "name": "PercentileStatsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests.", + "line_number": 8 + }, + { + "name": "PercentileStats", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests.", + "line_number": 21 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/percentilethroughputcutoffs.py", + "language": "Python", + "classes": [ + { + "name": "PercentileThroughputCutoffsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "line_number": 15 + }, + { + "name": "PercentileThroughputCutoffs", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 44, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "line_number": 28 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/perrequestlimits.py", + "language": "Python", + "classes": [ + { + "name": "PerRequestLimitsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Per-request token limits", + "line_number": 8 + }, + { + "name": "PerRequestLimits", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Per-request token limits", + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/preferredmaxlatency.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "percentilelatencycutoffs", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/preferredminthroughput.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "percentilethroughputcutoffs", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/providername.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/provideroverloadedresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "ProviderOverloadedResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for ProviderOverloadedResponse", + "line_number": 16 + }, + { + "name": "ProviderOverloadedResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for ProviderOverloadedResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/providerpreferences.py", + "language": "Python", + "classes": [ + { + "name": "ProviderPreferencesProviderSortConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 98 + }, + { + "name": "ProviderPreferencesProviderSortConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 119, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 105 + }, + { + "name": "ProviderPreferencesMaxPriceTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 203 + }, + { + "name": "ProviderPreferencesMaxPrice", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "line_number": 214 + }, + { + "name": "ProviderPreferencesTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Provider routing preferences for the request.", + "line_number": 229 + }, + { + "name": "ProviderPreferences", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 321, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Provider routing preferences for the request.", + "line_number": 267 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datacollection", + "preferredmaxlatency", + "preferredminthroughput", + "providername", + "quantization", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/providersort.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/providersortconfig.py", + "language": "Python", + "classes": [ + { + "name": "ProviderSortConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The provider sorting strategy (price, throughput, latency)", + "line_number": 40 + }, + { + "name": "ProviderSortConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 63, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The provider sorting strategy (price, throughput, latency)", + "line_number": 49 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/publicendpoint.py", + "language": "Python", + "classes": [ + { + "name": "PricingTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "Pricing", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 33 + }, + { + "name": "PublicEndpointTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Information about a specific model endpoint", + "line_number": 79 + }, + { + "name": "PublicEndpoint", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 146, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Information about a specific model endpoint", + "line_number": 102 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "endpointstatus", + "parameter", + "percentilestats", + "providername", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/publicpricing.py", + "language": "Python", + "classes": [ + { + "name": "PublicPricingTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Pricing information for the model", + "line_number": 9 + }, + { + "name": "PublicPricing", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Pricing information for the model", + "line_number": 28 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/quantization.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/reasoningdetailencrypted.py", + "language": "Python", + "classes": [ + { + "name": "ReasoningDetailEncryptedTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Reasoning detail encrypted schema", + "line_number": 36 + }, + { + "name": "ReasoningDetailEncrypted", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 66, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Reasoning detail encrypted schema", + "line_number": 46 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/reasoningdetailsummary.py", + "language": "Python", + "classes": [ + { + "name": "ReasoningDetailSummaryTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Reasoning detail summary schema", + "line_number": 36 + }, + { + "name": "ReasoningDetailSummary", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 66, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Reasoning detail summary schema", + "line_number": 46 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/reasoningdetailtext.py", + "language": "Python", + "classes": [ + { + "name": "ReasoningDetailTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Reasoning detail text schema", + "line_number": 36 + }, + { + "name": "ReasoningDetailText", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 69, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Reasoning detail text schema", + "line_number": 47 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/reasoningdetailunion.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "reasoningdetailencrypted", + "reasoningdetailsummary", + "reasoningdetailtext", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/reasoningsummarytext.py", + "language": "Python", + "classes": [ + { + "name": "ReasoningSummaryTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ReasoningSummaryText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/reasoningsummaryverbosity.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/reasoningtextcontent.py", + "language": "Python", + "classes": [ + { + "name": "ReasoningTextContentTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ReasoningTextContent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 17 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/requesttimeoutresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "RequestTimeoutResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for RequestTimeoutResponse", + "line_number": 16 + }, + { + "name": "RequestTimeoutResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for RequestTimeoutResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformatjsonobject.py", + "language": "Python", + "classes": [ + { + "name": "ResponseFormatJSONObjectTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "JSON object response format", + "line_number": 12 + }, + { + "name": "ResponseFormatJSONObject", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "JSON object response format", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformatjsonschema.py", + "language": "Python", + "classes": [ + { + "name": "ResponseFormatJSONSchemaTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "JSON Schema response format for structured outputs", + "line_number": 13 + }, + { + "name": "ResponseFormatJSONSchema", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "JSON Schema response format for structured outputs", + "line_number": 21 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "jsonschemaconfig", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformattext.py", + "language": "Python", + "classes": [ + { + "name": "ResponseFormatTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Default text response format", + "line_number": 12 + }, + { + "name": "ResponseFormatText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Default text response format", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformattextconfig.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseformatjsonobject", + "responsesformattext", + "responsesformattextjsonschemaconfig", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformattextgrammar.py", + "language": "Python", + "classes": [ + { + "name": "ResponseFormatTextGrammarTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Custom grammar response format", + "line_number": 12 + }, + { + "name": "ResponseFormatTextGrammar", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Custom grammar response format", + "line_number": 20 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseformattextpython.py", + "language": "Python", + "classes": [ + { + "name": "ResponseFormatTextPythonTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Python code response format", + "line_number": 12 + }, + { + "name": "ResponseFormatTextPython", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Python code response format", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseinputaudio.py", + "language": "Python", + "classes": [ + { + "name": "ResponseInputAudioInputAudioTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "ResponseInputAudioInputAudio", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "ResponseInputAudioTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Audio input content item", + "line_number": 38 + }, + { + "name": "ResponseInputAudio", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Audio input content item", + "line_number": 45 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseinputfile.py", + "language": "Python", + "classes": [ + { + "name": "ResponseInputFileTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "File input content item", + "line_number": 19 + }, + { + "name": "ResponseInputFile", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 43, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "File input content item", + "line_number": 29 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseinputimage.py", + "language": "Python", + "classes": [ + { + "name": "ResponseInputImageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Image input content item", + "line_number": 32 + }, + { + "name": "ResponseInputImage", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 52, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Image input content item", + "line_number": 40 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseinputtext.py", + "language": "Python", + "classes": [ + { + "name": "ResponseInputTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Text input content item", + "line_number": 12 + }, + { + "name": "ResponseInputText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Text input content item", + "line_number": 19 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseinputvideo.py", + "language": "Python", + "classes": [ + { + "name": "ResponseInputVideoTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Video input content item", + "line_number": 12 + }, + { + "name": "ResponseInputVideo", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Video input content item", + "line_number": 20 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseoutputtext.py", + "language": "Python", + "classes": [ + { + "name": "ResponseOutputTextTopLogprobTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "ResponseOutputTextTopLogprob", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + }, + { + "name": "LogprobTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "Logprob", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 38 + }, + { + "name": "ResponseOutputTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 48 + }, + { + "name": "ResponseOutputText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 55 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesannotation", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseserrorfield.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesErrorFieldTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error information returned from the API", + "line_number": 36 + }, + { + "name": "ResponsesErrorField", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Error information returned from the API", + "line_number": 43 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesformattext.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesFormatTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Plain text response format", + "line_number": 12 + }, + { + "name": "ResponsesFormatText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Plain text response format", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesformattextjsonschemaconfig.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesFormatTextJSONSchemaConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "JSON schema constrained response format", + "line_number": 20 + }, + { + "name": "ResponsesFormatTextJSONSchemaConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 44, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "JSON schema constrained response format", + "line_number": 30 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesimagegenerationcall.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesImageGenerationCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "ResponsesImageGenerationCall", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "imagegenerationstatus", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputitem.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responsesimagegenerationcall", + "responsesoutputitemfilesearchcall", + "responsesoutputitemfunctioncall", + "responsesoutputitemreasoning", + "responsesoutputmessage", + "responseswebsearchcalloutput", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputitemfilesearchcall.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesOutputItemFileSearchCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 15 + }, + { + "name": "ResponsesOutputItemFileSearchCall", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "websearchstatus", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputitemfunctioncall.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesOutputItemFunctionCallTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 41 + }, + { + "name": "ResponsesOutputItemFunctionCall", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 50 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputitemreasoning.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesOutputItemReasoningTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "An output item containing reasoning", + "line_number": 68 + }, + { + "name": "ResponsesOutputItemReasoning", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 111, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "An output item containing reasoning", + "line_number": 83 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "reasoningsummarytext", + "reasoningtextcontent", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputmessage.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesOutputMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "An output message item", + "line_number": 66 + }, + { + "name": "ResponsesOutputMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "An output message item", + "line_number": 76 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openairesponsesrefusalcontent", + "responseoutputtext", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsesoutputmodality.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/responsessearchcontextsize.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/responseswebsearchcalloutput.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesWebSearchCallOutputTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 15 + }, + { + "name": "ResponsesWebSearchCallOutput", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 21 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "websearchstatus", + "openrouter.types", + "openrouter.utils", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responseswebsearchuserlocation.py", + "language": "Python", + "classes": [ + { + "name": "ResponsesWebSearchUserLocationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "User location information for web search", + "line_number": 19 + }, + { + "name": "ResponsesWebSearchUserLocation", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 43, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "User location information for web search", + "line_number": 29 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/responsetextconfig.py", + "language": "Python", + "classes": [ + { + "name": "ResponseTextConfigTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Text output configuration including format and verbosity", + "line_number": 34 + }, + { + "name": "ResponseTextConfig", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 56, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Text output configuration including format and verbosity", + "line_number": 42 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "responseformattextconfig", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/security.py", + "language": "Python", + "classes": [ + { + "name": "SecurityTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 10 + }, + { + "name": "Security", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/serviceunavailableresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "ServiceUnavailableResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for ServiceUnavailableResponse", + "line_number": 16 + }, + { + "name": "ServiceUnavailableResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for ServiceUnavailableResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/systemmessage.py", + "language": "Python", + "classes": [ + { + "name": "SystemMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "System message for setting behavior", + "line_number": 29 + }, + { + "name": "SystemMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "System message for setting behavior", + "line_number": 39 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitemtext", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/toolcallstatus.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/toolchoiceoption.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "namedtoolchoice", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/tooldefinitionjson.py", + "language": "Python", + "classes": [ + { + "name": "ToolDefinitionJSONFunctionTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Function definition for tool calling", + "line_number": 23 + }, + { + "name": "ToolDefinitionJSONFunction", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 52, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Function definition for tool calling", + "line_number": 36 + }, + { + "name": "ToolDefinitionJSONTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Tool definition for function calling", + "line_number": 82 + }, + { + "name": "ToolDefinitionJSON", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Tool definition for function calling", + "line_number": 92 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitemcachecontrol", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/toolresponsemessage.py", + "language": "Python", + "classes": [ + { + "name": "ToolResponseMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Tool response message", + "line_number": 29 + }, + { + "name": "ToolResponseMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Tool response message", + "line_number": 39 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitem", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/toomanyrequestsresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "TooManyRequestsResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for TooManyRequestsResponse", + "line_number": 16 + }, + { + "name": "TooManyRequestsResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for TooManyRequestsResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/topproviderinfo.py", + "language": "Python", + "classes": [ + { + "name": "TopProviderInfoTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Information about the top provider for this model", + "line_number": 15 + }, + { + "name": "TopProviderInfo", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 39, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Information about the top provider for this model", + "line_number": 26 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/unauthorizedresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "UnauthorizedResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for UnauthorizedResponse", + "line_number": 16 + }, + { + "name": "UnauthorizedResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for UnauthorizedResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/unprocessableentityresponseerrordata.py", + "language": "Python", + "classes": [ + { + "name": "UnprocessableEntityResponseErrorDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Error data for UnprocessableEntityResponse", + "line_number": 16 + }, + { + "name": "UnprocessableEntityResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Error data for UnprocessableEntityResponse", + "line_number": 24 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/urlcitation.py", + "language": "Python", + "classes": [ + { + "name": "URLCitationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "URLCitation", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 20 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/usermessage.py", + "language": "Python", + "classes": [ + { + "name": "UserMessageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "User message", + "line_number": 28 + }, + { + "name": "UserMessage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "User message", + "line_number": 38 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "chatmessagecontentitem", + "openrouter.types", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/videoinput.py", + "language": "Python", + "classes": [ + { + "name": "VideoInputTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Video input object", + "line_number": 8 + }, + { + "name": "VideoInput", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Video input object", + "line_number": 15 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/websearchengine.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/components/websearchpreviewtooluserlocation.py", + "language": "Python", + "classes": [ + { + "name": "WebSearchPreviewToolUserLocationTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "WebSearchPreviewToolUserLocation", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 39, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 27 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/components/websearchstatus.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/credits.py", + "language": "Python", + "classes": [ + { + "name": "Credits", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "get_credits", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetCreditsResponse", + "docstring": "Get remaining credits\n\nGet total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_credits_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetCreditsResponse", + "docstring": "Get remaining credits\n\nGet total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 129, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "create_coinbase_charge", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateCoinbaseChargeResponse", + "docstring": "Create a Coinbase charge for crypto payment\n\nCreate a Coinbase charge for crypto payment\n\n:param security:\n:param amount:\n:param sender:\n:param chain_id:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 243, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "create_coinbase_charge_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateCoinbaseChargeResponse", + "docstring": "Create a Coinbase charge for crypto payment\n\nCreate a Coinbase charge for crypto payment\n\n:param security:\n:param amount:\n:param sender:\n:param chain_id:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 387, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Credit management endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/embeddings.py", + "language": "Python", + "classes": [ + { + "name": "GenerateAcceptEnum", + "base_classes": [ + "str", + "Enum" + ], + "methods": [], + "docstring": null, + "line_number": 13 + }, + { + "name": "Embeddings", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "generate", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateEmbeddingsResponse", + "docstring": "Submit an embedding request\n\nSubmits an embedding request to the embeddings router\n\n:param input:\n:param model:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param encoding_format:\n:param dimensions:\n:param user:\n:param provider: Provider routing preferences for the request.\n:param input_type:\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 21, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "generate_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateEmbeddingsResponse", + "docstring": "Submit an embedding request\n\nSubmits an embedding request to the embeddings router\n\n:param input:\n:param model:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param encoding_format:\n:param dimensions:\n:param user:\n:param provider: Provider routing preferences for the request.\n:param input_type:\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 227, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_models", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List all embeddings models\n\nReturns a list of all available embeddings models and their properties\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 433, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_models_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List all embeddings models\n\nReturns a list of all available embeddings models and their properties\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 542, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Text embedding endpoints", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "enum", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/endpoints.py", + "language": "Python", + "classes": [ + { + "name": "Endpoints", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "list", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListEndpointsResponse", + "docstring": "List all endpoints for a model\n\n:param author:\n:param slug:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListEndpointsResponse", + "docstring": "List all endpoints for a model\n\n:param author:\n:param slug:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 128, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_zdr_endpoints", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListEndpointsZdrResponse", + "docstring": "Preview the impact of ZDR on the available endpoints\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 241, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_zdr_endpoints_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListEndpointsZdrResponse", + "docstring": "Preview the impact of ZDR on the available endpoints\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 345, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Endpoint information", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/errors/__init__.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "dynamic_import", + "parameters": [ + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 137, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "attr_name", + "type_hint": "str", + "default": null + } + ], + "return_type": "object", + "docstring": null, + "line_number": 149, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 170, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 142, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "openroutererror", + "typing", + "importlib", + "builtins", + "sys", + "badgatewayresponse_error", + "badrequestresponse_error", + "edgenetworktimeoutresponse_error", + "forbiddenresponse_error", + "internalserverresponse_error", + "no_response_error", + "notfoundresponse_error", + "openrouterdefaulterror", + "payloadtoolargeresponse_error", + "paymentrequiredresponse_error", + "provideroverloadedresponse_error", + "requesttimeoutresponse_error", + "responsevalidationerror", + "serviceunavailableresponse_error", + "toomanyrequestsresponse_error", + "unauthorizedresponse_error", + "unprocessableentityresponse_error" + ] + }, + { + "file": "src/openrouter/errors/badgatewayresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "BadGatewayResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "BadGatewayResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "BadGatewayResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Bad Gateway - Provider/upstream API failure", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/badrequestresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "BadRequestResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "BadRequestResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "BadRequestResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Bad Request - Invalid request parameters or malformed input", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/edgenetworktimeoutresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "EdgeNetworkTimeoutResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "EdgeNetworkTimeoutResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "EdgeNetworkTimeoutResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Infrastructure Timeout - Provider request timed out at edge network", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/forbiddenresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "ForbiddenResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "ForbiddenResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "ForbiddenResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Forbidden - Authentication successful but insufficient permissions", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/internalserverresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "InternalServerResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "InternalServerResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "InternalServerResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Internal Server Error - Unexpected server error", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/no_response_error.py", + "language": "Python", + "classes": [ + { + "name": "NoResponseError", + "base_classes": [ + "Exception" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "message", + "type_hint": "str", + "default": "'No response received'" + } + ], + "return_type": null, + "docstring": null, + "line_number": 12, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__str__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 16, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Error raised when no HTTP response is received from the server.", + "line_number": 7 + } + ], + "functions": [], + "comments": [], + "imports": [ + "dataclasses" + ] + }, + { + "file": "src/openrouter/errors/notfoundresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "NotFoundResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "NotFoundResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "NotFoundResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Not Found - Resource does not exist", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/openrouterdefaulterror.py", + "language": "Python", + "classes": [ + { + "name": "OpenRouterDefaultError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "message", + "type_hint": "str", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 16, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "The fallback error class if no more specific error class is matched.", + "line_number": 13 + } + ], + "functions": [], + "comments": [], + "imports": [ + "httpx", + "typing", + "dataclasses", + "openrouter.errors" + ] + }, + { + "file": "src/openrouter/errors/openroutererror.py", + "language": "Python", + "classes": [ + { + "name": "OpenRouterError", + "base_classes": [ + "Exception" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "message", + "type_hint": "str", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 18, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__str__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 29, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "The base class for all HTTP error responses.", + "line_number": 9 + } + ], + "functions": [], + "comments": [], + "imports": [ + "httpx", + "typing", + "dataclasses" + ] + }, + { + "file": "src/openrouter/errors/payloadtoolargeresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "PayloadTooLargeResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "PayloadTooLargeResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "PayloadTooLargeResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Payload Too Large - Request payload exceeds size limits", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/paymentrequiredresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "PaymentRequiredResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "PaymentRequiredResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "PaymentRequiredResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Payment Required - Insufficient credits or quota to complete request", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/provideroverloadedresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "ProviderOverloadedResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "ProviderOverloadedResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "ProviderOverloadedResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Provider Overloaded - Provider is temporarily overloaded", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/requesttimeoutresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "RequestTimeoutResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "RequestTimeoutResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "RequestTimeoutResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Request Timeout - Operation exceeded time limit", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/responsevalidationerror.py", + "language": "Python", + "classes": [ + { + "name": "ResponseValidationError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "message", + "type_hint": "str", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "cause", + "type_hint": "Exception", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 14, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "cause", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": "Normally the Pydantic ValidationError", + "line_number": 25, + "is_async": false, + "is_method": true, + "decorators": [ + "property" + ] + } + ], + "docstring": "Error raised when there is a type mismatch between the response data and the expected Pydantic model.", + "line_number": 11 + } + ], + "functions": [], + "comments": [], + "imports": [ + "httpx", + "typing", + "dataclasses", + "openrouter.errors" + ] + }, + { + "file": "src/openrouter/errors/serviceunavailableresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "ServiceUnavailableResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "ServiceUnavailableResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "ServiceUnavailableResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Service Unavailable - Service temporarily unavailable", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/toomanyrequestsresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "TooManyRequestsResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "TooManyRequestsResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "TooManyRequestsResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Too Many Requests - Rate limit exceeded", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/unauthorizedresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "UnauthorizedResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "UnauthorizedResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "UnauthorizedResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Unauthorized - Authentication required or invalid credentials", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/errors/unprocessableentityresponse_error.py", + "language": "Python", + "classes": [ + { + "name": "UnprocessableEntityResponseErrorData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "UnprocessableEntityResponseError", + "base_classes": [ + "OpenRouterError" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "data", + "type_hint": "UnprocessableEntityResponseErrorData", + "default": null + }, + { + "name": "raw_response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Unprocessable Entity - Semantic validation failure", + "line_number": 22 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "dataclasses", + "httpx", + "openrouter.components", + "openrouter.errors", + "openrouter.types", + "typing" + ] + }, + { + "file": "src/openrouter/generations.py", + "language": "Python", + "classes": [ + { + "name": "Generations", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "get_generation", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetGenerationResponse", + "docstring": "Get request & usage metadata for a generation\n\n:param id:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_generation_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetGenerationResponse", + "docstring": "Get request & usage metadata for a generation\n\n:param id:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 166, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Generation history endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/guardrails.py", + "language": "Python", + "classes": [ + { + "name": "Guardrails", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "list", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailsResponse", + "docstring": "List guardrails\n\nList all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailsResponse", + "docstring": "List guardrails\n\nList all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 130, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "create", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateGuardrailResponse", + "docstring": "Create a guardrail\n\nCreate a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param name: Name for the new guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param description: Description of the guardrail\n:param limit_usd: Spending limit in USD\n:param reset_interval: Interval at which the limit resets (daily, weekly, monthly)\n:param allowed_providers: List of allowed provider IDs\n:param allowed_models: Array of model identifiers (slug or canonical_slug accepted)\n:param enforce_zdr: Whether to enforce zero data retention\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 245, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "create_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateGuardrailResponse", + "docstring": "Create a guardrail\n\nCreate a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param name: Name for the new guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param description: Description of the guardrail\n:param limit_usd: Spending limit in USD\n:param reset_interval: Interval at which the limit resets (daily, weekly, monthly)\n:param allowed_providers: List of allowed provider IDs\n:param allowed_models: Array of model identifiers (slug or canonical_slug accepted)\n:param enforce_zdr: Whether to enforce zero data retention\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 391, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "get", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetGuardrailResponse", + "docstring": "Get a guardrail\n\nGet a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to retrieve\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 537, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "get_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.GetGuardrailResponse", + "docstring": "Get a guardrail\n\nGet a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to retrieve\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 654, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "update", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.UpdateGuardrailResponse", + "docstring": "Update a guardrail\n\nUpdate an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to update\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param name: New name for the guardrail\n:param description: New description for the guardrail\n:param limit_usd: New spending limit in USD\n:param reset_interval: Interval at which the limit resets (daily, weekly, monthly)\n:param allowed_providers: New list of allowed provider IDs\n:param allowed_models: Array of model identifiers (slug or canonical_slug accepted)\n:param enforce_zdr: Whether to enforce zero data retention\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 771, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "update_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.UpdateGuardrailResponse", + "docstring": "Update a guardrail\n\nUpdate an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to update\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param name: New name for the guardrail\n:param description: New description for the guardrail\n:param limit_usd: New spending limit in USD\n:param reset_interval: Interval at which the limit resets (daily, weekly, monthly)\n:param allowed_providers: New list of allowed provider IDs\n:param allowed_models: Array of model identifiers (slug or canonical_slug accepted)\n:param enforce_zdr: Whether to enforce zero data retention\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 925, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "delete", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.DeleteGuardrailResponse", + "docstring": "Delete a guardrail\n\nDelete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to delete\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1079, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "delete_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.DeleteGuardrailResponse", + "docstring": "Delete a guardrail\n\nDelete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail to delete\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1196, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_key_assignments", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListKeyAssignmentsResponse", + "docstring": "List all key assignments\n\nList all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1313, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_key_assignments_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListKeyAssignmentsResponse", + "docstring": "List all key assignments\n\nList all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1430, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_member_assignments", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListMemberAssignmentsResponse", + "docstring": "List all member assignments\n\nList all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1547, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_member_assignments_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListMemberAssignmentsResponse", + "docstring": "List all member assignments\n\nList all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1664, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_guardrail_key_assignments", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailKeyAssignmentsResponse", + "docstring": "List key assignments for a guardrail\n\nList all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1781, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_guardrail_key_assignments_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailKeyAssignmentsResponse", + "docstring": "List key assignments for a guardrail\n\nList all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 1906, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_assign_keys", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkAssignKeysToGuardrailResponse", + "docstring": "Bulk assign keys to a guardrail\n\nAssign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param key_hashes: Array of API key hashes to assign to the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2031, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_assign_keys_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkAssignKeysToGuardrailResponse", + "docstring": "Bulk assign keys to a guardrail\n\nAssign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param key_hashes: Array of API key hashes to assign to the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2167, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_guardrail_member_assignments", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailMemberAssignmentsResponse", + "docstring": "List member assignments for a guardrail\n\nList all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2303, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_guardrail_member_assignments_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListGuardrailMemberAssignmentsResponse", + "docstring": "List member assignments for a guardrail\n\nList all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param offset: Number of records to skip for pagination\n:param limit: Maximum number of records to return (max 100)\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2428, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_assign_members", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkAssignMembersToGuardrailResponse", + "docstring": "Bulk assign members to a guardrail\n\nAssign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param member_user_ids: Array of member user IDs to assign to the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2553, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_assign_members_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkAssignMembersToGuardrailResponse", + "docstring": "Bulk assign members to a guardrail\n\nAssign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param member_user_ids: Array of member user IDs to assign to the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2689, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_unassign_keys", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkUnassignKeysFromGuardrailResponse", + "docstring": "Bulk unassign keys from a guardrail\n\nUnassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param key_hashes: Array of API key hashes to unassign from the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2825, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_unassign_keys_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkUnassignKeysFromGuardrailResponse", + "docstring": "Bulk unassign keys from a guardrail\n\nUnassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param key_hashes: Array of API key hashes to unassign from the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 2961, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_unassign_members", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkUnassignMembersFromGuardrailResponse", + "docstring": "Bulk unassign members from a guardrail\n\nUnassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param member_user_ids: Array of member user IDs to unassign from the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 3097, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "bulk_unassign_members_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.BulkUnassignMembersFromGuardrailResponse", + "docstring": "Bulk unassign members from a guardrail\n\nUnassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.\n\n:param id: The unique identifier of the guardrail\n:param member_user_ids: Array of member user IDs to unassign from the guardrail\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 3233, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Guardrails endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/httpclient.py", + "language": "Python", + "classes": [ + { + "name": "HttpClient", + "base_classes": [ + "Protocol" + ], + "methods": [ + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": "httpx.Request", + "default": null + } + ], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 12, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "build_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "method", + "type_hint": "str", + "default": null + }, + { + "name": "url", + "type_hint": "httpx._types.URLTypes", + "default": null + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 26, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "close", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 45, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 11 + }, + { + "name": "AsyncHttpClient", + "base_classes": [ + "Protocol" + ], + "methods": [ + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "request", + "type_hint": "httpx.Request", + "default": null + } + ], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 51, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "build_request", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "method", + "type_hint": "str", + "default": null + }, + { + "name": "url", + "type_hint": "httpx._types.URLTypes", + "default": null + } + ], + "return_type": "httpx.Request", + "docstring": null, + "line_number": 65, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "aclose", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 84, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 50 + }, + { + "name": "ClientOwner", + "base_classes": [ + "Protocol" + ], + "methods": [], + "docstring": null, + "line_number": 88 + } + ], + "functions": [ + { + "name": "close_clients", + "parameters": [ + { + "name": "owner", + "type_hint": "ClientOwner", + "default": null + }, + { + "name": "sync_client", + "type_hint": "Union[HttpClient, None]", + "default": null + }, + { + "name": "sync_client_supplied", + "type_hint": "bool", + "default": null + }, + { + "name": "async_client", + "type_hint": "Union[AsyncHttpClient, None]", + "default": null + }, + { + "name": "async_client_supplied", + "type_hint": "bool", + "default": null + } + ], + "return_type": "None", + "docstring": "A finalizer function that is meant to be used with weakref.finalize to close\nhttpx clients used by an SDK so that underlying resources can be garbage\ncollected.", + "line_number": 93, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 3, + "text": "pyright: reportReturnType = false", + "type": "inline" + }, + { + "line": 106, + "text": "Unset the client/async_client properties so there are no more references", + "type": "inline" + }, + { + "line": 107, + "text": "to them from the owning SDK instance and they can be reaped.", + "type": "inline" + }, + { + "line": 124, + "text": "best effort", + "type": "inline" + } + ], + "imports": [ + "asyncio", + "typing_extensions", + "httpx", + "typing" + ] + }, + { + "file": "src/openrouter/models/internal/__init__.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "dynamic_import", + "parameters": [ + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 19, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "attr_name", + "type_hint": "str", + "default": null + } + ], + "return_type": "object", + "docstring": null, + "line_number": 31, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 52, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 24, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "typing", + "importlib", + "builtins", + "sys", + "globals" + ] + }, + { + "file": "src/openrouter/models/internal/globals.py", + "language": "Python", + "classes": [ + { + "name": "GlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "Globals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/models_.py", + "language": "Python", + "classes": [ + { + "name": "Models", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "count", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsCountResponse", + "docstring": "Get total count of available models\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "count_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsCountResponse", + "docstring": "Get total count of available models\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 117, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List all models and their properties\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param category: Filter models by use case category\n:param supported_parameters:\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 219, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List all models and their properties\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param category: Filter models by use case category\n:param supported_parameters:\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 332, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "list_for_user", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List models filtered by user provider preferences, privacy settings, and guardrails\n\nList models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing).\n\n:param security:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 445, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_for_user_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.ModelsListResponse", + "docstring": "List models filtered by user provider preferences, privacy settings, and guardrails\n\nList models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing).\n\n:param security:\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 564, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Model information endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/oauth.py", + "language": "Python", + "classes": [ + { + "name": "OAuth", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "exchange_auth_code_for_api_key", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ExchangeAuthCodeForAPIKeyResponse", + "docstring": "Exchange authorization code for API key\n\nExchange an authorization code from the PKCE flow for a user-controlled API key\n\n:param code: The authorization code received from the OAuth redirect\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param code_verifier: The code verifier if code_challenge was used in the authorization request\n:param code_challenge_method: The method used to generate the code challenge\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 16, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "exchange_auth_code_for_api_key_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ExchangeAuthCodeForAPIKeyResponse", + "docstring": "Exchange authorization code for API key\n\nExchange an authorization code from the PKCE flow for a user-controlled API key\n\n:param code: The authorization code received from the OAuth redirect\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param code_verifier: The code verifier if code_challenge was used in the authorization request\n:param code_challenge_method: The method used to generate the code challenge\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 152, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "create_auth_code", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateAuthKeysCodeResponse", + "docstring": "Create authorization code\n\nCreate an authorization code for the PKCE flow to generate a user-controlled API key\n\n:param callback_url: The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed.\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param code_challenge: PKCE code challenge for enhanced security\n:param code_challenge_method: The method used to generate the code challenge\n:param limit: Credit limit for the API key to be created\n:param expires_at: Optional expiration time for the API key to be created\n:param key_label: Optional custom label for the API key. Defaults to the app name if not provided.\n:param usage_limit_type: Optional credit limit reset interval. When set, the credit limit resets on this interval.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 288, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "create_auth_code_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateAuthKeysCodeResponse", + "docstring": "Create authorization code\n\nCreate an authorization code for the PKCE flow to generate a user-controlled API key\n\n:param callback_url: The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed.\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param code_challenge: PKCE code challenge for enhanced security\n:param code_challenge_method: The method used to generate the code challenge\n:param limit: Credit limit for the API key to be created\n:param expires_at: Optional expiration time for the API key to be created\n:param key_label: Optional custom label for the API key. Defaults to the app name if not provided.\n:param usage_limit_type: Optional credit limit reset interval. When set, the credit limit resets on this interval.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 436, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "OAuth authentication endpoints", + "line_number": 13 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "datetime", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/operations/__init__.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "dynamic_import", + "parameters": [ + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 1044, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "attr_name", + "type_hint": "str", + "default": null + } + ], + "return_type": "object", + "docstring": null, + "line_number": 1056, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 1077, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 1049, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "typing", + "importlib", + "builtins", + "sys", + "bulkassignkeystoguardrail", + "bulkassignmemberstoguardrail", + "bulkunassignkeysfromguardrail", + "bulkunassignmembersfromguardrail", + "createauthkeyscode", + "createcoinbasecharge", + "createembeddings", + "createguardrail", + "createkeys", + "createresponses", + "deleteguardrail", + "deletekeys", + "exchangeauthcodeforapikey", + "getcredits", + "getcurrentkey", + "getgeneration", + "getguardrail", + "getkey", + "getmodels", + "getuseractivity", + "list", + "listembeddingsmodels", + "listendpoints", + "listendpointszdr", + "listguardrailkeyassignments", + "listguardrailmemberassignments", + "listguardrails", + "listkeyassignments", + "listmemberassignments", + "listmodelscount", + "listmodelsuser", + "listproviders", + "sendchatcompletionrequest", + "updateguardrail", + "updatekeys" + ] + }, + { + "file": "src/openrouter/operations/bulkassignkeystoguardrail.py", + "language": "Python", + "classes": [ + { + "name": "BulkAssignKeysToGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "BulkAssignKeysToGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 28 + }, + { + "name": "BulkAssignKeysToGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 49 + }, + { + "name": "BulkAssignKeysToGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "BulkAssignKeysToGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "BulkAssignKeysToGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + }, + { + "name": "BulkAssignKeysToGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Assignment result", + "line_number": 105 + }, + { + "name": "BulkAssignKeysToGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Assignment result", + "line_number": 112 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/bulkassignmemberstoguardrail.py", + "language": "Python", + "classes": [ + { + "name": "BulkAssignMembersToGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "BulkAssignMembersToGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 28 + }, + { + "name": "BulkAssignMembersToGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 49 + }, + { + "name": "BulkAssignMembersToGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "BulkAssignMembersToGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "BulkAssignMembersToGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + }, + { + "name": "BulkAssignMembersToGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Assignment result", + "line_number": 105 + }, + { + "name": "BulkAssignMembersToGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Assignment result", + "line_number": 112 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "language": "Python", + "classes": [ + { + "name": "BulkUnassignKeysFromGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "BulkUnassignKeysFromGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 28 + }, + { + "name": "BulkUnassignKeysFromGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 49 + }, + { + "name": "BulkUnassignKeysFromGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "BulkUnassignKeysFromGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "BulkUnassignKeysFromGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + }, + { + "name": "BulkUnassignKeysFromGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Unassignment result", + "line_number": 105 + }, + { + "name": "BulkUnassignKeysFromGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Unassignment result", + "line_number": 112 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "language": "Python", + "classes": [ + { + "name": "BulkUnassignMembersFromGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 16 + }, + { + "name": "BulkUnassignMembersFromGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 28 + }, + { + "name": "BulkUnassignMembersFromGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 49 + }, + { + "name": "BulkUnassignMembersFromGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "BulkUnassignMembersFromGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "BulkUnassignMembersFromGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + }, + { + "name": "BulkUnassignMembersFromGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Unassignment result", + "line_number": 105 + }, + { + "name": "BulkUnassignMembersFromGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Unassignment result", + "line_number": 112 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createauthkeyscode.py", + "language": "Python", + "classes": [ + { + "name": "CreateAuthKeysCodeGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "CreateAuthKeysCodeGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 38 + }, + { + "name": "CreateAuthKeysCodeRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 80 + }, + { + "name": "CreateAuthKeysCodeRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 125, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 97 + }, + { + "name": "CreateAuthKeysCodeRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 162 + }, + { + "name": "CreateAuthKeysCodeRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 175 + }, + { + "name": "CreateAuthKeysCodeDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Auth code data", + "line_number": 201 + }, + { + "name": "CreateAuthKeysCodeData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Auth code data", + "line_number": 212 + }, + { + "name": "CreateAuthKeysCodeResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Successfully created authorization code", + "line_number": 225 + }, + { + "name": "CreateAuthKeysCodeResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Successfully created authorization code", + "line_number": 232 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createcoinbasecharge.py", + "language": "Python", + "classes": [ + { + "name": "CreateCoinbaseChargeGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "CreateCoinbaseChargeGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "CreateCoinbaseChargeSecurityTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 50 + }, + { + "name": "CreateCoinbaseChargeSecurity", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "CreateCoinbaseChargeRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 68 + }, + { + "name": "CreateCoinbaseChargeRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 81 + }, + { + "name": "CallDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 107 + }, + { + "name": "CallData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 120 + }, + { + "name": "MetadataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 142 + }, + { + "name": "Metadata", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 148 + }, + { + "name": "TransferIntentTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 156 + }, + { + "name": "TransferIntent", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 161 + }, + { + "name": "Web3DataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 167 + }, + { + "name": "Web3Data", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 171 + }, + { + "name": "CreateCoinbaseChargeDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 175 + }, + { + "name": "CreateCoinbaseChargeData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 182 + }, + { + "name": "CreateCoinbaseChargeResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Returns the calldata to fulfill the transaction", + "line_number": 192 + }, + { + "name": "CreateCoinbaseChargeResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Returns the calldata to fulfill the transaction", + "line_number": 198 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createembeddings.py", + "language": "Python", + "classes": [ + { + "name": "CreateEmbeddingsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 20 + }, + { + "name": "CreateEmbeddingsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 32 + }, + { + "name": "ImageURLTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 56 + }, + { + "name": "ImageURL", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 60 + }, + { + "name": "ContentImageURLTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 64 + }, + { + "name": "ContentImageURL", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 69 + }, + { + "name": "ContentTextTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 78 + }, + { + "name": "ContentText", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 83 + }, + { + "name": "InputTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 103 + }, + { + "name": "Input", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 107 + }, + { + "name": "CreateEmbeddingsRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 131 + }, + { + "name": "CreateEmbeddingsRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 142 + }, + { + "name": "CreateEmbeddingsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 161 + }, + { + "name": "CreateEmbeddingsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 174 + }, + { + "name": "CreateEmbeddingsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 212 + }, + { + "name": "CreateEmbeddingsData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 218 + }, + { + "name": "UsageTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 226 + }, + { + "name": "Usage", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 232 + }, + { + "name": "CreateEmbeddingsResponseBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Embedding response", + "line_number": 240 + }, + { + "name": "CreateEmbeddingsResponseBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Embedding response", + "line_number": 250 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createguardrail.py", + "language": "Python", + "classes": [ + { + "name": "CreateGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 25 + }, + { + "name": "CreateGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 37 + }, + { + "name": "CreateGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 69 + }, + { + "name": "CreateGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 112, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 86 + }, + { + "name": "CreateGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 156 + }, + { + "name": "CreateGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 169 + }, + { + "name": "CreateGuardrailDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The created guardrail", + "line_number": 206 + }, + { + "name": "CreateGuardrailData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 268, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The created guardrail", + "line_number": 231 + }, + { + "name": "CreateGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Guardrail created successfully", + "line_number": 314 + }, + { + "name": "CreateGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Guardrail created successfully", + "line_number": 321 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createkeys.py", + "language": "Python", + "classes": [ + { + "name": "CreateKeysGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "CreateKeysGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 38 + }, + { + "name": "CreateKeysRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 70 + }, + { + "name": "CreateKeysRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 103, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 83 + }, + { + "name": "CreateKeysRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 138 + }, + { + "name": "CreateKeysRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 151 + }, + { + "name": "CreateKeysDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The created API key information", + "line_number": 177 + }, + { + "name": "CreateKeysData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 281, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The created API key information", + "line_number": 220 + }, + { + "name": "CreateKeysResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "API key created successfully", + "line_number": 317 + }, + { + "name": "CreateKeysResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "API key created successfully", + "line_number": 326 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/createresponses.py", + "language": "Python", + "classes": [ + { + "name": "CreateResponsesGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 21 + }, + { + "name": "CreateResponsesGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 33 + }, + { + "name": "CreateResponsesRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "CreateResponsesRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 69 + }, + { + "name": "CreateResponsesResponseBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Successful response", + "line_number": 95 + }, + { + "name": "CreateResponsesResponseBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Successful response", + "line_number": 102 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/deleteguardrail.py", + "language": "Python", + "classes": [ + { + "name": "DeleteGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "DeleteGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "DeleteGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 50 + }, + { + "name": "DeleteGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 64 + }, + { + "name": "DeleteGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Guardrail deleted successfully", + "line_number": 90 + }, + { + "name": "DeleteGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Guardrail deleted successfully", + "line_number": 97 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/deletekeys.py", + "language": "Python", + "classes": [ + { + "name": "DeleteKeysGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "DeleteKeysGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "DeleteKeysRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 50 + }, + { + "name": "DeleteKeysRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 64 + }, + { + "name": "DeleteKeysResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "API key deleted successfully", + "line_number": 90 + }, + { + "name": "DeleteKeysResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "API key deleted successfully", + "line_number": 97 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/exchangeauthcodeforapikey.py", + "language": "Python", + "classes": [ + { + "name": "ExchangeAuthCodeForAPIKeyGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 25 + }, + { + "name": "ExchangeAuthCodeForAPIKeyGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 37 + }, + { + "name": "ExchangeAuthCodeForAPIKeyRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 68 + }, + { + "name": "ExchangeAuthCodeForAPIKeyRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 93, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 79 + }, + { + "name": "ExchangeAuthCodeForAPIKeyRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 123 + }, + { + "name": "ExchangeAuthCodeForAPIKeyRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 136 + }, + { + "name": "ExchangeAuthCodeForAPIKeyResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Successfully exchanged code for an API key", + "line_number": 162 + }, + { + "name": "ExchangeAuthCodeForAPIKeyResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 181, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Successfully exchanged code for an API key", + "line_number": 171 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getcredits.py", + "language": "Python", + "classes": [ + { + "name": "GetCreditsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "GetCreditsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + }, + { + "name": "GetCreditsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 44 + }, + { + "name": "GetCreditsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 56 + }, + { + "name": "GetCreditsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 77 + }, + { + "name": "GetCreditsData", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 84 + }, + { + "name": "GetCreditsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Total credits purchased and used", + "line_number": 92 + }, + { + "name": "GetCreditsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Total credits purchased and used", + "line_number": 98 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getcurrentkey.py", + "language": "Python", + "classes": [ + { + "name": "GetCurrentKeyGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "GetCurrentKeyGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "GetCurrentKeyRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 52 + }, + { + "name": "GetCurrentKeyRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 64 + }, + { + "name": "RateLimitTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Legacy rate limit information about a key. Will always return -1.", + "line_number": 88 + }, + { + "name": "RateLimit", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Legacy rate limit information about a key. Will always return -1.", + "line_number": 102 + }, + { + "name": "GetCurrentKeyDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Current API key information", + "line_number": 115 + }, + { + "name": "GetCurrentKeyData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 224, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Current API key information", + "line_number": 156 + }, + { + "name": "GetCurrentKeyResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "API key details", + "line_number": 254 + }, + { + "name": "GetCurrentKeyResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "API key details", + "line_number": 261 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getgeneration.py", + "language": "Python", + "classes": [ + { + "name": "GetGenerationGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 18 + }, + { + "name": "GetGenerationGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 30 + }, + { + "name": "GetGenerationRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 51 + }, + { + "name": "GetGenerationRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 64 + }, + { + "name": "ProviderResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 208 + }, + { + "name": "ProviderResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 236, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 218 + }, + { + "name": "GetGenerationDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Generation data", + "line_number": 273 + }, + { + "name": "GetGenerationData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 452, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "Generation data", + "line_number": 346 + }, + { + "name": "GetGenerationResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Generation response", + "line_number": 510 + }, + { + "name": "GetGenerationResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Generation response", + "line_number": 517 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getguardrail.py", + "language": "Python", + "classes": [ + { + "name": "GetGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 25 + }, + { + "name": "GetGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 37 + }, + { + "name": "GetGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 58 + }, + { + "name": "GetGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 72 + }, + { + "name": "GetGuardrailDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The guardrail", + "line_number": 109 + }, + { + "name": "GetGuardrailData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 171, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The guardrail", + "line_number": 134 + }, + { + "name": "GetGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Guardrail details", + "line_number": 217 + }, + { + "name": "GetGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Guardrail details", + "line_number": 224 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getkey.py", + "language": "Python", + "classes": [ + { + "name": "GetKeyGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "GetKeyGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "GetKeyRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 52 + }, + { + "name": "GetKeyRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 66 + }, + { + "name": "GetKeyDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The API key information", + "line_number": 92 + }, + { + "name": "GetKeyData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 196, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The API key information", + "line_number": 135 + }, + { + "name": "GetKeyResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "API key details", + "line_number": 232 + }, + { + "name": "GetKeyResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "API key details", + "line_number": 239 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getmodels.py", + "language": "Python", + "classes": [ + { + "name": "GetModelsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "GetModelsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "GetModelsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 70 + }, + { + "name": "GetModelsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 85 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/getuseractivity.py", + "language": "Python", + "classes": [ + { + "name": "GetUserActivityGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "GetUserActivityGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "GetUserActivityRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 45 + }, + { + "name": "GetUserActivityRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "GetUserActivityResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Returns user activity data grouped by endpoint", + "line_number": 87 + }, + { + "name": "GetUserActivityResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Returns user activity data grouped by endpoint", + "line_number": 94 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/list.py", + "language": "Python", + "classes": [ + { + "name": "ListGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 19 + }, + { + "name": "ListGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "ListRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 52 + }, + { + "name": "ListRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 68 + }, + { + "name": "ListDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 101 + }, + { + "name": "ListData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 201, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 142 + }, + { + "name": "ListResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of API keys", + "line_number": 237 + }, + { + "name": "ListResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of API keys", + "line_number": 244 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listembeddingsmodels.py", + "language": "Python", + "classes": [ + { + "name": "ListEmbeddingsModelsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "ListEmbeddingsModelsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + }, + { + "name": "ListEmbeddingsModelsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 44 + }, + { + "name": "ListEmbeddingsModelsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 56 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listendpoints.py", + "language": "Python", + "classes": [ + { + "name": "ListEndpointsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 14 + }, + { + "name": "ListEndpointsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "ListEndpointsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 47 + }, + { + "name": "ListEndpointsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 61 + }, + { + "name": "ListEndpointsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Returns a list of endpoints", + "line_number": 90 + }, + { + "name": "ListEndpointsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Returns a list of endpoints", + "line_number": 97 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listendpointszdr.py", + "language": "Python", + "classes": [ + { + "name": "ListEndpointsZdrGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ListEndpointsZdrGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "ListEndpointsZdrRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 45 + }, + { + "name": "ListEndpointsZdrRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 57 + }, + { + "name": "ListEndpointsZdrResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Returns a list of endpoints", + "line_number": 78 + }, + { + "name": "ListEndpointsZdrResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Returns a list of endpoints", + "line_number": 84 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listguardrailkeyassignments.py", + "language": "Python", + "classes": [ + { + "name": "ListGuardrailKeyAssignmentsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "ListGuardrailKeyAssignmentsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "ListGuardrailKeyAssignmentsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 50 + }, + { + "name": "ListGuardrailKeyAssignmentsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 68 + }, + { + "name": "ListGuardrailKeyAssignmentsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 106 + }, + { + "name": "ListGuardrailKeyAssignmentsData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 146, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 123 + }, + { + "name": "ListGuardrailKeyAssignmentsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of key assignments", + "line_number": 176 + }, + { + "name": "ListGuardrailKeyAssignmentsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of key assignments", + "line_number": 185 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listguardrailmemberassignments.py", + "language": "Python", + "classes": [ + { + "name": "ListGuardrailMemberAssignmentsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 17 + }, + { + "name": "ListGuardrailMemberAssignmentsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 29 + }, + { + "name": "ListGuardrailMemberAssignmentsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 50 + }, + { + "name": "ListGuardrailMemberAssignmentsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 68 + }, + { + "name": "ListGuardrailMemberAssignmentsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 106 + }, + { + "name": "ListGuardrailMemberAssignmentsData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 141, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 121 + }, + { + "name": "ListGuardrailMemberAssignmentsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of member assignments", + "line_number": 171 + }, + { + "name": "ListGuardrailMemberAssignmentsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of member assignments", + "line_number": 180 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listguardrails.py", + "language": "Python", + "classes": [ + { + "name": "ListGuardrailsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 25 + }, + { + "name": "ListGuardrailsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 37 + }, + { + "name": "ListGuardrailsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 58 + }, + { + "name": "ListGuardrailsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + }, + { + "name": "ListGuardrailsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 118 + }, + { + "name": "ListGuardrailsData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 176, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 141 + }, + { + "name": "ListGuardrailsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of guardrails", + "line_number": 222 + }, + { + "name": "ListGuardrailsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of guardrails", + "line_number": 231 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listkeyassignments.py", + "language": "Python", + "classes": [ + { + "name": "ListKeyAssignmentsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ListKeyAssignmentsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "ListKeyAssignmentsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 45 + }, + { + "name": "ListKeyAssignmentsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 61 + }, + { + "name": "ListKeyAssignmentsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 94 + }, + { + "name": "ListKeyAssignmentsData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 134, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 111 + }, + { + "name": "ListKeyAssignmentsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of key assignments", + "line_number": 164 + }, + { + "name": "ListKeyAssignmentsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of key assignments", + "line_number": 173 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listmemberassignments.py", + "language": "Python", + "classes": [ + { + "name": "ListMemberAssignmentsGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 12 + }, + { + "name": "ListMemberAssignmentsGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "ListMemberAssignmentsRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 45 + }, + { + "name": "ListMemberAssignmentsRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 61 + }, + { + "name": "ListMemberAssignmentsDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 94 + }, + { + "name": "ListMemberAssignmentsData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 129, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 109 + }, + { + "name": "ListMemberAssignmentsResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "List of member assignments", + "line_number": 159 + }, + { + "name": "ListMemberAssignmentsResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "List of member assignments", + "line_number": 168 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listmodelscount.py", + "language": "Python", + "classes": [ + { + "name": "ListModelsCountGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "ListModelsCountGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + }, + { + "name": "ListModelsCountRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 44 + }, + { + "name": "ListModelsCountRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 56 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listmodelsuser.py", + "language": "Python", + "classes": [ + { + "name": "ListModelsUserGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 11 + }, + { + "name": "ListModelsUserGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 23 + }, + { + "name": "ListModelsUserSecurityTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 44 + }, + { + "name": "ListModelsUserSecurity", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 48 + }, + { + "name": "ListModelsUserRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 62 + }, + { + "name": "ListModelsUserRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 74 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/listproviders.py", + "language": "Python", + "classes": [ + { + "name": "ListProvidersGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 18 + }, + { + "name": "ListProvidersGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 30 + }, + { + "name": "ListProvidersRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 51 + }, + { + "name": "ListProvidersRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 63 + }, + { + "name": "ListProvidersDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 84 + }, + { + "name": "ListProvidersData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 114, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 97 + }, + { + "name": "ListProvidersResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Returns a list of providers", + "line_number": 148 + }, + { + "name": "ListProvidersResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Returns a list of providers", + "line_number": 154 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/sendchatcompletionrequest.py", + "language": "Python", + "classes": [ + { + "name": "SendChatCompletionRequestGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 21 + }, + { + "name": "SendChatCompletionRequestGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 33 + }, + { + "name": "SendChatCompletionRequestRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 54 + }, + { + "name": "SendChatCompletionRequestRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 69 + }, + { + "name": "SendChatCompletionRequestResponseBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Successful chat completion response", + "line_number": 95 + }, + { + "name": "SendChatCompletionRequestResponseBody", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Successful chat completion response", + "line_number": 102 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.components", + "openrouter.types", + "openrouter.utils", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/updateguardrail.py", + "language": "Python", + "classes": [ + { + "name": "UpdateGuardrailGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 26 + }, + { + "name": "UpdateGuardrailGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 38 + }, + { + "name": "UpdateGuardrailRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 70 + }, + { + "name": "UpdateGuardrailRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 113, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 87 + }, + { + "name": "UpdateGuardrailRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 158 + }, + { + "name": "UpdateGuardrailRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 173 + }, + { + "name": "UpdateGuardrailDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The updated guardrail", + "line_number": 215 + }, + { + "name": "UpdateGuardrailData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 277, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The updated guardrail", + "line_number": 240 + }, + { + "name": "UpdateGuardrailResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "Guardrail updated successfully", + "line_number": 323 + }, + { + "name": "UpdateGuardrailResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "Guardrail updated successfully", + "line_number": 330 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/operations/updatekeys.py", + "language": "Python", + "classes": [ + { + "name": "UpdateKeysGlobalsTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 27 + }, + { + "name": "UpdateKeysGlobals", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 39 + }, + { + "name": "UpdateKeysRequestBodyTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 71 + }, + { + "name": "UpdateKeysRequestBody", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 104, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": null, + "line_number": 84 + }, + { + "name": "UpdateKeysRequestTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": null, + "line_number": 140 + }, + { + "name": "UpdateKeysRequest", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 155 + }, + { + "name": "UpdateKeysDataTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "The updated API key information", + "line_number": 186 + }, + { + "name": "UpdateKeysData", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "handler", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 290, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='wrap')" + ] + } + ], + "docstring": "The updated API key information", + "line_number": 229 + }, + { + "name": "UpdateKeysResponseTypedDict", + "base_classes": [ + "TypedDict" + ], + "methods": [], + "docstring": "API key updated successfully", + "line_number": 326 + }, + { + "name": "UpdateKeysResponse", + "base_classes": [ + "BaseModel" + ], + "methods": [], + "docstring": "API key updated successfully", + "line_number": 333 + } + ], + "functions": [], + "comments": [], + "imports": [ + "__future__", + "datetime", + "openrouter.types", + "openrouter.utils", + "pydantic", + "pydantic", + "pydantic.functional_validators", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/providers.py", + "language": "Python", + "classes": [ + { + "name": "Providers", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "list", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListProvidersResponse", + "docstring": "List all providers\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "list_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.ListProvidersResponse", + "docstring": "List all providers\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 117, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "Provider information endpoints", + "line_number": 12 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/responses.py", + "language": "Python", + "classes": [ + { + "name": "SendAcceptEnum", + "base_classes": [ + "str", + "Enum" + ], + "methods": [], + "docstring": null, + "line_number": 13 + }, + { + "name": "Responses", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.OpenResponsesNonStreamingResponse", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 22, + "is_async": false, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "eventstreaming.EventStream[components.OpenResponsesStreamEvent]", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 164, + "is_async": false, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateResponsesResponse", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 305, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "components.OpenResponsesNonStreamingResponse", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 712, + "is_async": true, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 854, + "is_async": true, + "is_method": true, + "decorators": [ + "overload" + ] + }, + { + "name": "send_async", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "operations.CreateResponsesResponse", + "docstring": "Create a response\n\nCreates a streaming or non-streaming response using OpenResponses API format\n\n:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings.\n This is used to track API usage per application.\n\n:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n\n:param input: Input for a response request - can be a string or array of items\n:param instructions:\n:param metadata: Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.\n:param tools:\n:param tool_choice:\n:param parallel_tool_calls:\n:param model:\n:param models:\n:param text: Text output configuration including format and verbosity\n:param reasoning: Configuration for reasoning mode in the response\n:param max_output_tokens:\n:param temperature:\n:param top_p:\n:param top_logprobs:\n:param max_tool_calls:\n:param presence_penalty:\n:param frequency_penalty:\n:param top_k:\n:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.\n:param modalities: Output modalities for the response. Supported values are \\\"text\\\" and \\\"image\\\".\n:param prompt_cache_key:\n:param previous_response_id:\n:param prompt:\n:param include:\n:param background:\n:param safety_identifier:\n:param service_tier:\n:param truncation:\n:param stream:\n:param provider: When multiple model providers are available, optionally indicate your routing preference.\n:param plugins: Plugins you want to enable for this request, including their settings.\n:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.\n:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.\n:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.\n:param retries: Override the default retry configuration for this method\n:param server_url: Override the default server URL for this method\n:param timeout_ms: Override the default request timeout configuration for this method in milliseconds\n:param accept_header_override: Override the default accept header for this method\n:param http_headers: Additional headers to set or replace on requests.", + "line_number": 995, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "beta.responses endpoints", + "line_number": 18 + } + ], + "functions": [], + "comments": [], + "imports": [ + "basesdk", + "enum", + "openrouter", + "openrouter._hooks", + "openrouter.types", + "openrouter.utils", + "openrouter.utils.unmarshal_json_response", + "typing" + ] + }, + { + "file": "src/openrouter/sdk.py", + "language": "Python", + "classes": [ + { + "name": "OpenRouter", + "base_classes": [ + "BaseSDK" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "api_key", + "type_hint": "Optional[Union[Optional[str], Callable[[], Optional[str]]]]", + "default": "None" + }, + { + "name": "http_referer", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "x_title", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "server", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "server_url", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "url_params", + "type_hint": "Optional[Dict[str, str]]", + "default": "None" + }, + { + "name": "client", + "type_hint": "Optional[HttpClient]", + "default": "None" + }, + { + "name": "async_client", + "type_hint": "Optional[AsyncHttpClient]", + "default": "None" + }, + { + "name": "retry_config", + "type_hint": "OptionalNullable[RetryConfig]", + "default": "UNSET" + }, + { + "name": "timeout_ms", + "type_hint": "Optional[int]", + "default": "None" + }, + { + "name": "debug_logger", + "type_hint": "Optional[Logger]", + "default": "None" + } + ], + "return_type": "None", + "docstring": "Instantiates the SDK configuring it with the provided parameters.\n\n:param api_key: The api_key required for authentication\n:param http_referer: Configures the http_referer parameter for all supported operations\n:param x_title: Configures the x_title parameter for all supported operations\n:param server: The server by name to use for all methods\n:param server_url: The server URL to use for all methods\n:param url_params: Parameters to optionally template the server URL with\n:param client: The HTTP client to use for all synchronous methods\n:param async_client: The Async HTTP client to use for all asynchronous methods\n:param retry_config: The retry configuration to use for all supported methods\n:param timeout_ms: Optional request timeout applied to each operation in milliseconds", + "line_number": 75, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "dynamic_import", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 176, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "name", + "type_hint": "str", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 187, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 209, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__enter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 214, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__aenter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 217, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "__exit__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "exc_type", + "type_hint": null, + "default": null + }, + { + "name": "exc_val", + "type_hint": null, + "default": null + }, + { + "name": "exc_tb", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 220, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__aexit__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "exc_type", + "type_hint": null, + "default": null + }, + { + "name": "exc_val", + "type_hint": null, + "default": null + }, + { + "name": "exc_tb", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 228, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": "OpenRouter API: OpenAI-compatible API with additional OpenRouter features\nhttps://openrouter.ai/docs - OpenRouter Documentation", + "line_number": 33 + } + ], + "functions": [], + "comments": [ + { + "line": 125, + "text": "pylint: disable=unnecessary-lambda-assignment", + "type": "inline" + }, + { + "line": 161, + "text": "pylint: disable=protected-access", + "type": "inline" + }, + { + "line": 181, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "basesdk", + "httpclient", + "sdkconfiguration", + "utils.logger", + "utils.retries", + "httpx", + "importlib", + "openrouter", + "openrouter._hooks", + "openrouter.models", + "openrouter.types", + "sys", + "typing", + "weakref", + "openrouter.analytics", + "openrouter.api_keys", + "openrouter.beta", + "openrouter.chat", + "openrouter.credits", + "openrouter.embeddings", + "openrouter.endpoints", + "openrouter.generations", + "openrouter.guardrails", + "openrouter.models_", + "openrouter.oauth", + "openrouter.providers" + ] + }, + { + "file": "src/openrouter/sdkconfiguration.py", + "language": "Python", + "classes": [ + { + "name": "SDKConfiguration", + "base_classes": [], + "methods": [ + { + "name": "get_server_details", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "Tuple[str, Dict[str, str]]", + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 28 + } + ], + "functions": [], + "comments": [], + "imports": [ + "_version", + "httpclient", + "utils", + "dataclasses", + "openrouter", + "openrouter.models", + "openrouter.types", + "pydantic", + "typing" + ] + }, + { + "file": "src/openrouter/types/__init__.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [], + "imports": [ + "basemodel" + ] + }, + { + "file": "src/openrouter/types/basemodel.py", + "language": "Python", + "classes": [ + { + "name": "BaseModel", + "base_classes": [ + "PydanticBaseModel" + ], + "methods": [], + "docstring": null, + "line_number": 9 + }, + { + "name": "Unset", + "base_classes": [ + "BaseModel" + ], + "methods": [ + { + "name": "serialize_model", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 17, + "is_async": false, + "is_method": true, + "decorators": [ + "model_serializer(mode='plain')" + ] + }, + { + "name": "__bool__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": "Literal[False]", + "docstring": null, + "line_number": 20, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 15 + } + ], + "functions": [], + "comments": [], + "imports": [ + "pydantic", + "pydantic", + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/types/models.py", + "language": "Python", + "classes": [], + "functions": [], + "comments": [ + { + "line": 2, + "text": "Run `npx @openrouter/cli types` to regenerate", + "type": "inline" + }, + { + "line": 3, + "text": "Generated: 2025-12-23T14:51:29.122Z", + "type": "inline" + }, + { + "line": 4, + "text": "Model count: 351", + "type": "inline" + }, + { + "line": 9, + "text": "Union type of all available model IDs on OpenRouter.", + "type": "inline" + }, + { + "line": 10, + "text": "Includes base models and their variants (e.g., \":free\", \":nitro\").", + "type": "inline" + }, + { + "line": 365, + "text": "Static variants that create distinct model IDs.", + "type": "inline" + }, + { + "line": 366, + "text": "These are already present in the API response (e.g., \"openai/gpt-4:free\").", + "type": "inline" + }, + { + "line": 369, + "text": "Virtual variants used for routing hints.", + "type": "inline" + }, + { + "line": 370, + "text": "These do not create distinct model IDs but affect routing behavior.", + "type": "inline" + }, + { + "line": 373, + "text": "All available variants.", + "type": "inline" + }, + { + "line": 376, + "text": "Hash of model IDs for staleness checking.", + "type": "inline" + }, + { + "line": 377, + "text": "Used by postinstall script to detect outdated types.", + "type": "inline" + } + ], + "imports": [ + "typing", + "typing_extensions" + ] + }, + { + "file": "src/openrouter/utils/__init__.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "dynamic_import", + "parameters": [ + { + "name": "modname", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": null, + "default": "3" + } + ], + "return_type": null, + "docstring": null, + "line_number": 166, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__getattr__", + "parameters": [ + { + "name": "attr_name", + "type_hint": "str", + "default": null + } + ], + "return_type": "object", + "docstring": null, + "line_number": 178, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__dir__", + "parameters": [], + "return_type": null, + "docstring": null, + "line_number": 198, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 171, + "text": "Clear any half-initialized module and retry", + "type": "inline" + } + ], + "imports": [ + "typing", + "importlib", + "builtins", + "sys", + "annotations", + "datetimes", + "enums", + "headers", + "metadata", + "queryparams", + "retries", + "requestbodies", + "security", + "serializers", + "url", + "values", + "logger" + ] + }, + { + "file": "src/openrouter/utils/annotations.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "get_discriminator", + "parameters": [ + { + "name": "model", + "type_hint": "Any", + "default": null + }, + { + "name": "fieldname", + "type_hint": "str", + "default": null + }, + { + "name": "key", + "type_hint": "str", + "default": null + } + ], + "return_type": "str", + "docstring": "Recursively search for the discriminator attribute in a model.\n\nArgs:\n model (Any): The model to search within.\n fieldname (str): The name of the field to search for.\n key (str): The key to search for in dictionaries.\n\nReturns:\n str: The name of the discriminator attribute.\n\nRaises:\n ValueError: If the discriminator attribute is not found.", + "line_number": 7, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "get_field_discriminator", + "parameters": [ + { + "name": "field", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Optional[str]", + "docstring": "Search for the discriminator attribute in a given field.", + "line_number": 24, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "search_nested_discriminator", + "parameters": [ + { + "name": "obj", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Optional[str]", + "docstring": "Recursively search for discriminator in nested structures.", + "line_number": 45, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 47, + "text": "First try direct field lookup", + "type": "inline" + }, + { + "line": 52, + "text": "If it's a dict, search in nested values", + "type": "inline" + }, + { + "line": 56, + "text": "Search in list items", + "type": "inline" + }, + { + "line": 62, + "text": "Search in nested dict", + "type": "inline" + } + ], + "imports": [ + "enum", + "typing" + ] + }, + { + "file": "src/openrouter/utils/datetimes.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "parse_datetime", + "parameters": [ + { + "name": "datetime_string", + "type_hint": "str", + "default": null + } + ], + "return_type": "datetime", + "docstring": "Convert a RFC 3339 / ISO 8601 formatted string into a datetime object.\nPython versions 3.11 and later support parsing RFC 3339 directly with\ndatetime.fromisoformat(), but for earlier versions, this function\nencapsulates the necessary extra logic.", + "line_number": 7, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 14, + "text": "Python 3.11 and later can parse RFC 3339 directly", + "type": "inline" + }, + { + "line": 18, + "text": "For Python 3.10 and earlier, a common ValueError is trailing 'Z' suffix,", + "type": "inline" + }, + { + "line": 19, + "text": "so fix that upfront.", + "type": "inline" + } + ], + "imports": [ + "datetime", + "sys" + ] + }, + { + "file": "src/openrouter/utils/enums.py", + "language": "Python", + "classes": [ + { + "name": "OpenEnumMeta", + "base_classes": [ + "enum.EnumMeta" + ], + "methods": [], + "docstring": null, + "line_number": 6 + } + ], + "functions": [ + { + "name": "__call__", + "parameters": [ + { + "name": "cls", + "type_hint": null, + "default": null + }, + { + "name": "value", + "type_hint": null, + "default": null + }, + { + "name": "names", + "type_hint": null, + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 14, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "__call__", + "parameters": [ + { + "name": "cls", + "type_hint": null, + "default": null + }, + { + "name": "value", + "type_hint": null, + "default": null + }, + { + "name": "names", + "type_hint": null, + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 47, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 7, + "text": "The __call__ method `boundary` kwarg was added in 3.11 and must be present", + "type": "inline" + }, + { + "line": 8, + "text": "for pyright. Refer also: https://github.com/pylint-dev/pylint/issues/9622", + "type": "inline" + }, + { + "line": 9, + "text": "pylint: disable=unexpected-keyword-arg", + "type": "inline" + }, + { + "line": 10, + "text": "The __call__ method `values` varg must be named for pyright.", + "type": "inline" + }, + { + "line": 11, + "text": "pylint: disable=keyword-arg-before-vararg", + "type": "inline" + }, + { + "line": 17, + "text": "The `type` kwarg also happens to be a built-in that pylint flags as", + "type": "inline" + }, + { + "line": 18, + "text": "redeclared. Safe to ignore this lint rule with this scope.", + "type": "inline" + }, + { + "line": 19, + "text": "pylint: disable=redefined-builtin", + "type": "inline" + }, + { + "line": 50, + "text": "The `type` kwarg also happens to be a built-in that pylint flags as", + "type": "inline" + }, + { + "line": 51, + "text": "redeclared. Safe to ignore this lint rule with this scope.", + "type": "inline" + }, + { + "line": 52, + "text": "pylint: disable=redefined-builtin", + "type": "inline" + } + ], + "imports": [ + "enum", + "sys" + ] + }, + { + "file": "src/openrouter/utils/eventstreaming.py", + "language": "Python", + "classes": [ + { + "name": "EventStream", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "decoder", + "type_hint": "Callable[[str], T]", + "default": null + }, + { + "name": "sentinel", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "client_ref", + "type_hint": "Optional[object]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 26, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__iter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 37, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__next__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 40, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__enter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 43, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__exit__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "exc_type", + "type_hint": null, + "default": null + }, + { + "name": "exc_val", + "type_hint": null, + "default": null + }, + { + "name": "exc_tb", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 46, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 19 + }, + { + "name": "EventStreamAsync", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "decoder", + "type_hint": "Callable[[str], T]", + "default": null + }, + { + "name": "sentinel", + "type_hint": "Optional[str]", + "default": "None" + }, + { + "name": "client_ref", + "type_hint": "Optional[object]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 57, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__aiter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 68, + "is_async": false, + "is_method": true, + "decorators": [] + }, + { + "name": "__anext__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 71, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "__aenter__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 74, + "is_async": true, + "is_method": true, + "decorators": [] + }, + { + "name": "__aexit__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "exc_type", + "type_hint": null, + "default": null + }, + { + "name": "exc_val", + "type_hint": null, + "default": null + }, + { + "name": "exc_tb", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 77, + "is_async": true, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 50 + }, + { + "name": "ServerEvent", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 81 + } + ], + "functions": [ + { + "name": "stream_events_async", + "parameters": [ + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "decoder", + "type_hint": "Callable[[str], T]", + "default": null + }, + { + "name": "sentinel", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "AsyncGenerator[T, None]", + "docstring": null, + "line_number": 95, + "is_async": true, + "is_method": false, + "decorators": [] + }, + { + "name": "stream_events", + "parameters": [ + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "decoder", + "type_hint": "Callable[[str], T]", + "default": null + }, + { + "name": "sentinel", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "Generator[T, None, None]", + "docstring": null, + "line_number": 137, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_parse_event", + "parameters": [ + { + "name": "raw", + "type_hint": "bytearray", + "default": null + }, + { + "name": "decoder", + "type_hint": "Callable[[str], T]", + "default": null + }, + { + "name": "sentinel", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "Tuple[Optional[T], bool]", + "docstring": null, + "line_number": 179, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_peek_sequence", + "parameters": [ + { + "name": "position", + "type_hint": "int", + "default": null + }, + { + "name": "buffer", + "type_hint": "bytearray", + "default": null + }, + { + "name": "sequence", + "type_hint": "bytes", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 240, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 20, + "text": "Holds a reference to the SDK client to avoid it being garbage collected", + "type": "inline" + }, + { + "line": 21, + "text": "and cause termination of the underlying httpx client.", + "type": "inline" + }, + { + "line": 51, + "text": "Holds a reference to the SDK client to avoid it being garbage collected", + "type": "inline" + }, + { + "line": 52, + "text": "and cause termination of the underlying httpx client.", + "type": "inline" + }, + { + "line": 104, + "text": "We've encountered the sentinel value and should no longer process", + "type": "inline" + }, + { + "line": 105, + "text": "incoming data. Instead we throw new data away until the server closes", + "type": "inline" + }, + { + "line": 106, + "text": "the connection.", + "type": "inline" + }, + { + "line": 146, + "text": "We've encountered the sentinel value and should no longer process", + "type": "inline" + }, + { + "line": 147, + "text": "incoming data. Instead we throw new data away until the server closes", + "type": "inline" + }, + { + "line": 148, + "text": "the connection.", + "type": "inline" + } + ], + "imports": [ + "re", + "json", + "typing", + "httpx" + ] + }, + { + "file": "src/openrouter/utils/forms.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "_populate_form", + "parameters": [ + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "explode", + "type_hint": "bool", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + }, + { + "name": "delimiter", + "type_hint": "str", + "default": null + }, + { + "name": "form", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 23, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_extract_file_properties", + "parameters": [ + { + "name": "file_obj", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Tuple[str, Any, Any]", + "docstring": "Extract file name, content, and content type from a file object.", + "line_number": 89, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize_multipart_form", + "parameters": [ + { + "name": "media_type", + "type_hint": "str", + "default": null + }, + { + "name": "request", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Tuple[str, Dict[str, Any], List[Tuple[str, Any]]]", + "docstring": null, + "line_number": 117, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize_form_data", + "parameters": [ + { + "name": "data", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Dict[str, Any]", + "docstring": null, + "line_number": 195, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 144, + "text": "Handle array of files", + "type": "inline" + }, + { + "line": 161, + "text": "Handle single file", + "type": "inline" + } + ], + "imports": [ + "typing", + "pydantic", + "pydantic.fields", + "serializers", + "metadata", + "values" + ] + }, + { + "file": "src/openrouter/utils/headers.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "get_headers", + "parameters": [ + { + "name": "headers_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Optional[Any]", + "default": "None" + } + ], + "return_type": "Dict[str, str]", + "docstring": null, + "line_number": 21, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_headers", + "parameters": [ + { + "name": "headers_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Any", + "default": null + }, + { + "name": "header_values", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "skip_fields", + "type_hint": "List[str]", + "default": null + } + ], + "return_type": "List[str]", + "docstring": null, + "line_number": 33, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_serialize_header", + "parameters": [ + { + "name": "explode", + "type_hint": "bool", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 69, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "get_response_headers", + "parameters": [ + { + "name": "headers", + "type_hint": "Headers", + "default": null + } + ], + "return_type": "Dict[str, List[str]]", + "docstring": null, + "line_number": 129, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "typing", + "httpx", + "pydantic", + "pydantic.fields", + "metadata", + "values" + ] + }, + { + "file": "src/openrouter/utils/logger.py", + "language": "Python", + "classes": [ + { + "name": "Logger", + "base_classes": [ + "Protocol" + ], + "methods": [ + { + "name": "debug", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "msg", + "type_hint": "str", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 10, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 9 + }, + { + "name": "NoOpLogger", + "base_classes": [], + "methods": [ + { + "name": "debug", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "msg", + "type_hint": "str", + "default": null + } + ], + "return_type": "None", + "docstring": null, + "line_number": 15, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 14 + } + ], + "functions": [ + { + "name": "get_body_content", + "parameters": [ + { + "name": "req", + "type_hint": "httpx.Request", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 19, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "get_default_logger", + "parameters": [], + "return_type": "Logger", + "docstring": null, + "line_number": 23, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "httpx", + "logging", + "os", + "typing" + ] + }, + { + "file": "src/openrouter/utils/metadata.py", + "language": "Python", + "classes": [ + { + "name": "SecurityMetadata", + "base_classes": [], + "methods": [ + { + "name": "get_field_name", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "default", + "type_hint": "str", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 19, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 12 + }, + { + "name": "ParamMetadata", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 24 + }, + { + "name": "PathParamMetadata", + "base_classes": [ + "ParamMetadata" + ], + "methods": [], + "docstring": null, + "line_number": 31 + }, + { + "name": "QueryParamMetadata", + "base_classes": [ + "ParamMetadata" + ], + "methods": [], + "docstring": null, + "line_number": 36 + }, + { + "name": "HeaderMetadata", + "base_classes": [ + "ParamMetadata" + ], + "methods": [], + "docstring": null, + "line_number": 42 + }, + { + "name": "RequestMetadata", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 47 + }, + { + "name": "MultipartFormMetadata", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 52 + }, + { + "name": "FormMetadata", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 59 + }, + { + "name": "FieldMetadata", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "security", + "type_hint": "Optional[SecurityMetadata]", + "default": "None" + }, + { + "name": "path", + "type_hint": "Optional[Union[PathParamMetadata, bool]]", + "default": "None" + }, + { + "name": "query", + "type_hint": "Optional[Union[QueryParamMetadata, bool]]", + "default": "None" + }, + { + "name": "header", + "type_hint": "Optional[Union[HeaderMetadata, bool]]", + "default": "None" + }, + { + "name": "request", + "type_hint": "Optional[Union[RequestMetadata, bool]]", + "default": "None" + }, + { + "name": "form", + "type_hint": "Optional[Union[FormMetadata, bool]]", + "default": "None" + }, + { + "name": "multipart", + "type_hint": "Optional[Union[MultipartFormMetadata, bool]]", + "default": "None" + } + ], + "return_type": null, + "docstring": null, + "line_number": 74, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 65 + } + ], + "functions": [ + { + "name": "find_field_metadata", + "parameters": [ + { + "name": "field_info", + "type_hint": "FieldInfo", + "default": null + }, + { + "name": "metadata_type", + "type_hint": "Type[T]", + "default": null + } + ], + "return_type": "Optional[T]", + "docstring": null, + "line_number": 95, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "find_metadata", + "parameters": [ + { + "name": "field_info", + "type_hint": "FieldInfo", + "default": null + }, + { + "name": "metadata_type", + "type_hint": "Type[T]", + "default": null + } + ], + "return_type": "Optional[T]", + "docstring": null, + "line_number": 109, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "typing", + "dataclasses", + "pydantic.fields" + ] + }, + { + "file": "src/openrouter/utils/oauth_create_authorization_url.py", + "language": "Python", + "classes": [ + { + "name": "CreateAuthorizationUrlRequestBase", + "base_classes": [], + "methods": [], + "docstring": "Base request parameters for creating an authorization URL", + "line_number": 12 + }, + { + "name": "CreateAuthorizationUrlRequestWithPKCE", + "base_classes": [], + "methods": [], + "docstring": "Request parameters with PKCE for creating an authorization URL", + "line_number": 19 + } + ], + "functions": [ + { + "name": "_get_server_url", + "parameters": [ + { + "name": "client", + "type_hint": "'OpenRouter'", + "default": null + } + ], + "return_type": "str", + "docstring": "Get the server URL from the client configuration\n\nArgs:\n client: OpenRouter client instance\n\nReturns:\n The server URL\n\nRaises:\n ValueError: If no server URL is configured", + "line_number": 34, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "oauth_create_authorization_url", + "parameters": [ + { + "name": "client", + "type_hint": "'OpenRouter'", + "default": null + }, + { + "name": "params", + "type_hint": "CreateAuthorizationUrlRequest", + "default": null + } + ], + "return_type": "str", + "docstring": "Generate an OAuth2 authorization URL\n\nGenerates a URL to redirect users to for authorizing your application. The\nURL includes the provided callback URL and, if applicable, the code\nchallenge parameters for PKCE.\n\nArgs:\n client: OpenRouter client instance\n params: Request parameters including callback URL and optional PKCE parameters\n\nReturns:\n The authorization URL as a string\n\nRaises:\n ValueError: If no server URL is configured or parameters are invalid\n\nSee Also:\n - https://openrouter.ai/docs/use-cases/oauth-pkce", + "line_number": 53, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 27, + "text": "Union type for request - either with PKCE or without", + "type": "inline" + }, + { + "line": 79, + "text": "Build the auth URL", + "type": "inline" + }, + { + "line": 82, + "text": "Build query parameters", + "type": "inline" + }, + { + "line": 87, + "text": "Add PKCE parameters if present", + "type": "inline" + }, + { + "line": 92, + "text": "Add limit if present", + "type": "inline" + }, + { + "line": 96, + "text": "Construct final URL with query parameters", + "type": "inline" + } + ], + "imports": [ + "dataclasses", + "typing", + "urllib.parse", + "openrouter.sdk" + ] + }, + { + "file": "src/openrouter/utils/oauth_create_sha256_code_challenge.py", + "language": "Python", + "classes": [ + { + "name": "CreateSHA256CodeChallengeRequest", + "base_classes": [], + "methods": [], + "docstring": "Request parameters for creating a SHA-256 code challenge.\n\nIf not provided, a random code verifier will be generated.\nIf provided, must be 43-128 characters and contain only unreserved\ncharacters [A-Za-z0-9-._~] per RFC 7636.", + "line_number": 12 + }, + { + "name": "CreateSHA256CodeChallengeResponse", + "base_classes": [], + "methods": [], + "docstring": "Response containing the code challenge and verifier", + "line_number": 24 + } + ], + "functions": [ + { + "name": "_array_buffer_to_base64_url", + "parameters": [ + { + "name": "data", + "type_hint": "bytes", + "default": null + } + ], + "return_type": "str", + "docstring": "Convert bytes to base64url encoding (RFC 4648)\n\nArgs:\n data: Bytes to encode\n\nReturns:\n Base64url encoded string", + "line_number": 30, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_generate_code_verifier", + "parameters": [], + "return_type": "str", + "docstring": "Generate a cryptographically random code verifier per RFC 7636\n\nRFC 7636 recommends 32 octets of random data, base64url encoded = 43 chars\n\nReturns:\n A random code verifier string", + "line_number": 43, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_validate_code_verifier", + "parameters": [ + { + "name": "code_verifier", + "type_hint": "str", + "default": null + } + ], + "return_type": "None", + "docstring": "Validate code verifier according to RFC 7636\n\nArgs:\n code_verifier: The code verifier to validate\n\nRaises:\n ValueError: If the code verifier is invalid", + "line_number": 56, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "oauth_create_sha256_code_challenge", + "parameters": [ + { + "name": "params", + "type_hint": "Optional[CreateSHA256CodeChallengeRequest]", + "default": "None" + } + ], + "return_type": "CreateSHA256CodeChallengeResponse", + "docstring": "Generate a SHA-256 code challenge for PKCE\n\nGenerates a SHA-256 code challenge and corresponding code verifier for use\nin the PKCE extension to OAuth2. If no code verifier is provided, a random\none will be generated according to RFC 7636 (32 random bytes, base64url\nencoded). If a code verifier is provided, it must be 43-128 characters and\ncontain only unreserved characters [A-Za-z0-9-._~].\n\nArgs:\n params: Optional request parameters. If None, a random code verifier will be generated.\n\nReturns:\n CreateSHA256CodeChallengeResponse containing the code challenge and verifier\n\nRaises:\n ValueError: If the provided code verifier is invalid\n\nSee Also:\n - https://openrouter.ai/docs/use-cases/oauth-pkce\n - https://datatracker.ietf.org/doc/html/rfc7636", + "line_number": 76, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 110, + "text": "Generate SHA-256 hash", + "type": "inline" + }, + { + "line": 114, + "text": "Convert hash to base64url", + "type": "inline" + } + ], + "imports": [ + "base64", + "hashlib", + "re", + "secrets", + "dataclasses", + "typing" + ] + }, + { + "file": "src/openrouter/utils/queryparams.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "get_query_params", + "parameters": [ + { + "name": "query_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Optional[Any]", + "default": "None" + }, + { + "name": "allow_empty_value", + "type_hint": "Optional[List[str]]", + "default": "None" + } + ], + "return_type": "Dict[str, List[str]]", + "docstring": null, + "line_number": 27, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_query_params", + "parameters": [ + { + "name": "query_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Any", + "default": null + }, + { + "name": "query_param_values", + "type_hint": "Dict[str, List[str]]", + "default": null + }, + { + "name": "skip_fields", + "type_hint": "List[str]", + "default": null + }, + { + "name": "allow_empty_value", + "type_hint": "Optional[List[str]]", + "default": "None" + } + ], + "return_type": "List[str]", + "docstring": null, + "line_number": 41, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_deep_object_query_params", + "parameters": [ + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + }, + { + "name": "params", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 114, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_deep_object_query_params_basemodel", + "parameters": [ + { + "name": "prior_params_key", + "type_hint": "str", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + }, + { + "name": "params", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 128, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_deep_object_query_params_dict", + "parameters": [ + { + "name": "prior_params_key", + "type_hint": "str", + "default": null + }, + { + "name": "value", + "type_hint": "Dict", + "default": null + }, + { + "name": "params", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 162, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_deep_object_query_params_list", + "parameters": [ + { + "name": "params_key", + "type_hint": "str", + "default": null + }, + { + "name": "value", + "type_hint": "List", + "default": null + }, + { + "name": "params", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 186, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_delimited_query_params", + "parameters": [ + { + "name": "metadata", + "type_hint": "QueryParamMetadata", + "default": null + }, + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + }, + { + "name": "delimiter", + "type_hint": "str", + "default": null + }, + { + "name": "query_param_values", + "type_hint": "Dict[str, List[str]]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 204, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "typing", + "pydantic", + "pydantic.fields", + "metadata", + "values", + "forms" + ] + }, + { + "file": "src/openrouter/utils/requestbodies.py", + "language": "Python", + "classes": [ + { + "name": "SerializedRequestBody", + "base_classes": [], + "methods": [], + "docstring": null, + "line_number": 25 + } + ], + "functions": [ + { + "name": "serialize_request_body", + "parameters": [ + { + "name": "request_body", + "type_hint": "Any", + "default": null + }, + { + "name": "nullable", + "type_hint": "bool", + "default": null + }, + { + "name": "optional", + "type_hint": "bool", + "default": null + }, + { + "name": "serialization_method", + "type_hint": "str", + "default": null + }, + { + "name": "request_body_type", + "type_hint": null, + "default": null + } + ], + "return_type": "Optional[SerializedRequestBody]", + "docstring": null, + "line_number": 32, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "io", + "dataclasses", + "re", + "typing", + "forms", + "serializers" + ] + }, + { + "file": "src/openrouter/utils/retries.py", + "language": "Python", + "classes": [ + { + "name": "BackoffStrategy", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "initial_interval", + "type_hint": "int", + "default": null + }, + { + "name": "max_interval", + "type_hint": "int", + "default": null + }, + { + "name": "exponent", + "type_hint": "float", + "default": null + }, + { + "name": "max_elapsed_time", + "type_hint": "int", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 19, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 13 + }, + { + "name": "RetryConfig", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "strategy", + "type_hint": "str", + "default": null + }, + { + "name": "backoff", + "type_hint": "BackoffStrategy", + "default": null + }, + { + "name": "retry_connection_errors", + "type_hint": "bool", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 37, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 32 + }, + { + "name": "Retries", + "base_classes": [], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "config", + "type_hint": "RetryConfig", + "default": null + }, + { + "name": "status_codes", + "type_hint": "List[str]", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 49, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 45 + }, + { + "name": "TemporaryError", + "base_classes": [ + "Exception" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 58, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 54 + }, + { + "name": "PermanentError", + "base_classes": [ + "Exception" + ], + "methods": [ + { + "name": "__init__", + "parameters": [ + { + "name": "self", + "type_hint": null, + "default": null + }, + { + "name": "inner", + "type_hint": "Exception", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 66, + "is_async": false, + "is_method": true, + "decorators": [] + } + ], + "docstring": null, + "line_number": 63 + } + ], + "functions": [ + { + "name": "_parse_retry_after_header", + "parameters": [ + { + "name": "response", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "Optional[int]", + "docstring": "Parse Retry-After header from response.\n\nReturns:\n Retry interval in milliseconds, or None if header is missing or invalid.", + "line_number": 70, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_get_sleep_interval", + "parameters": [ + { + "name": "exception", + "type_hint": "Exception", + "default": null + }, + { + "name": "initial_interval", + "type_hint": "int", + "default": null + }, + { + "name": "max_interval", + "type_hint": "int", + "default": null + }, + { + "name": "exponent", + "type_hint": "float", + "default": null + }, + { + "name": "retries", + "type_hint": "int", + "default": null + } + ], + "return_type": "float", + "docstring": "Get sleep interval for retry with exponential backoff.\n\nArgs:\n exception: The exception that triggered the retry.\n initial_interval: Initial retry interval in milliseconds.\n max_interval: Maximum retry interval in milliseconds.\n exponent: Base for exponential backoff calculation.\n retries: Current retry attempt count.\n\nReturns:\n Sleep interval in seconds.", + "line_number": 96, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "retry", + "parameters": [ + { + "name": "func", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": "Retries", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 126, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "retry_async", + "parameters": [ + { + "name": "func", + "type_hint": null, + "default": null + }, + { + "name": "retries", + "type_hint": "Retries", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 175, + "is_async": true, + "is_method": false, + "decorators": [] + }, + { + "name": "retry_with_backoff", + "parameters": [ + { + "name": "func", + "type_hint": null, + "default": null + }, + { + "name": "initial_interval", + "type_hint": null, + "default": "500" + }, + { + "name": "max_interval", + "type_hint": null, + "default": "60000" + }, + { + "name": "exponent", + "type_hint": null, + "default": "1.5" + }, + { + "name": "max_elapsed_time", + "type_hint": null, + "default": "3600000" + } + ], + "return_type": null, + "docstring": null, + "line_number": 224, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "retry_with_backoff_async", + "parameters": [ + { + "name": "func", + "type_hint": null, + "default": null + }, + { + "name": "initial_interval", + "type_hint": null, + "default": "500" + }, + { + "name": "max_interval", + "type_hint": null, + "default": "60000" + }, + { + "name": "exponent", + "type_hint": null, + "default": "1.5" + }, + { + "name": "max_elapsed_time", + "type_hint": null, + "default": "3600000" + } + ], + "return_type": null, + "docstring": null, + "line_number": 254, + "is_async": true, + "is_method": false, + "decorators": [] + }, + { + "name": "do_request", + "parameters": [], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 129, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "do_request", + "parameters": [], + "return_type": "httpx.Response", + "docstring": null, + "line_number": 178, + "is_async": true, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "asyncio", + "random", + "time", + "datetime", + "email.utils", + "typing", + "httpx" + ] + }, + { + "file": "src/openrouter/utils/security.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "get_security", + "parameters": [ + { + "name": "security", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Tuple[Dict[str, str], Dict[str, List[str]]]", + "docstring": null, + "line_number": 22, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "get_security_from_env", + "parameters": [ + { + "name": "security", + "type_hint": "Any", + "default": null + }, + { + "name": "security_class", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Optional[BaseModel]", + "docstring": null, + "line_number": 58, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_parse_security_option", + "parameters": [ + { + "name": "headers", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "query_params", + "type_hint": "Dict[str, List[str]]", + "default": null + }, + { + "name": "option", + "type_hint": "Any", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 73, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_parse_security_scheme", + "parameters": [ + { + "name": "headers", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "query_params", + "type_hint": "Dict[str, List[str]]", + "default": null + }, + { + "name": "scheme_metadata", + "type_hint": "SecurityMetadata", + "default": null + }, + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "scheme", + "type_hint": "Any", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 91, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_parse_security_scheme_value", + "parameters": [ + { + "name": "headers", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "query_params", + "type_hint": "Dict[str, List[str]]", + "default": null + }, + { + "name": "scheme_metadata", + "type_hint": "SecurityMetadata", + "default": null + }, + { + "name": "security_metadata", + "type_hint": "SecurityMetadata", + "default": null + }, + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "value", + "type_hint": "Any", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 128, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_apply_bearer", + "parameters": [ + { + "name": "token", + "type_hint": "str", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 164, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_parse_basic_auth_scheme", + "parameters": [ + { + "name": "headers", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "scheme", + "type_hint": "Any", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 168, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 47, + "text": "Special case for basic auth or custom auth which could be a flattened model", + "type": "inline" + } + ], + "imports": [ + "base64", + "typing", + "pydantic", + "pydantic.fields", + "metadata", + "os" + ] + }, + { + "file": "src/openrouter/utils/serializers.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "serialize_decimal", + "parameters": [ + { + "name": "as_str", + "type_hint": "bool", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 18, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate_decimal", + "parameters": [ + { + "name": "d", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 34, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize_float", + "parameters": [ + { + "name": "as_str", + "type_hint": "bool", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 47, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate_float", + "parameters": [ + { + "name": "f", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 63, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize_int", + "parameters": [ + { + "name": "as_str", + "type_hint": "bool", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 76, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate_int", + "parameters": [ + { + "name": "b", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 92, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate_open_enum", + "parameters": [ + { + "name": "is_int", + "type_hint": "bool", + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 105, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate_const", + "parameters": [ + { + "name": "v", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 125, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "unmarshal_json", + "parameters": [ + { + "name": "raw", + "type_hint": null, + "default": null + }, + { + "name": "typ", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Any", + "docstring": null, + "line_number": 139, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "unmarshal", + "parameters": [ + { + "name": "val", + "type_hint": null, + "default": null + }, + { + "name": "typ", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Any", + "docstring": null, + "line_number": 143, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "marshal_json", + "parameters": [ + { + "name": "val", + "type_hint": null, + "default": null + }, + { + "name": "typ", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 156, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "is_nullable", + "parameters": [ + { + "name": "field", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 176, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "is_union", + "parameters": [ + { + "name": "obj", + "type_hint": "object", + "default": null + } + ], + "return_type": "bool", + "docstring": "Returns True if the given object is a typing.Union or typing_extensions.Union.", + "line_number": 191, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "stream_to_text", + "parameters": [ + { + "name": "stream", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 200, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "stream_to_text_async", + "parameters": [ + { + "name": "stream", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 204, + "is_async": true, + "is_method": false, + "decorators": [] + }, + { + "name": "stream_to_bytes", + "parameters": [ + { + "name": "stream", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "bytes", + "docstring": null, + "line_number": 208, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "stream_to_bytes_async", + "parameters": [ + { + "name": "stream", + "type_hint": "httpx.Response", + "default": null + } + ], + "return_type": "bytes", + "docstring": null, + "line_number": 212, + "is_async": true, + "is_method": false, + "decorators": [] + }, + { + "name": "get_pydantic_model", + "parameters": [ + { + "name": "data", + "type_hint": "Any", + "default": null + }, + { + "name": "typ", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Any", + "docstring": null, + "line_number": 216, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_contains_pydantic_model", + "parameters": [ + { + "name": "data", + "type_hint": "Any", + "default": null + } + ], + "return_type": "bool", + "docstring": null, + "line_number": 223, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_get_typing_objects_by_name_of", + "parameters": [ + { + "name": "name", + "type_hint": "str", + "default": null + } + ], + "return_type": "Tuple[Any, ...]", + "docstring": "Get typing objects by name from typing and typing_extensions.\nReference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types", + "line_number": 235, + "is_async": false, + "is_method": false, + "decorators": [ + "functools.cache" + ] + }, + { + "name": "serialize", + "parameters": [ + { + "name": "d", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 19, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize", + "parameters": [ + { + "name": "f", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 48, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "serialize", + "parameters": [ + { + "name": "i", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 77, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate", + "parameters": [ + { + "name": "e", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 106, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "validate", + "parameters": [ + { + "name": "c", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 126, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [ + { + "line": 20, + "text": "Optional[T] is a Union[T, None]", + "type": "inline" + }, + { + "line": 49, + "text": "Optional[T] is a Union[T, None]", + "type": "inline" + }, + { + "line": 78, + "text": "Optional[T] is a Union[T, None]", + "type": "inline" + }, + { + "line": 127, + "text": "Optional[T] is a Union[T, None]", + "type": "inline" + }, + { + "line": 152, + "text": "pyright: ignore[reportAttributeAccessIssue]", + "type": "inline" + } + ], + "imports": [ + "decimal", + "functools", + "json", + "typing", + "typing", + "typing_extensions", + "typing_extensions", + "httpx", + "pydantic", + "pydantic_core", + "types.basemodel" + ] + }, + { + "file": "src/openrouter/utils/unmarshal_json_response.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "unmarshal_json_response", + "parameters": [ + { + "name": "typ", + "type_hint": "Type[T]", + "default": null + }, + { + "name": "http_res", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "T", + "docstring": null, + "line_number": 14, + "is_async": false, + "is_method": false, + "decorators": [ + "overload" + ] + }, + { + "name": "unmarshal_json_response", + "parameters": [ + { + "name": "typ", + "type_hint": "Any", + "default": null + }, + { + "name": "http_res", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "Any", + "docstring": null, + "line_number": 20, + "is_async": false, + "is_method": false, + "decorators": [ + "overload" + ] + }, + { + "name": "unmarshal_json_response", + "parameters": [ + { + "name": "typ", + "type_hint": "Any", + "default": null + }, + { + "name": "http_res", + "type_hint": "httpx.Response", + "default": null + }, + { + "name": "body", + "type_hint": "Optional[str]", + "default": "None" + } + ], + "return_type": "Any", + "docstring": null, + "line_number": 25, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "typing", + "httpx", + "serializers", + "openrouter" + ] + }, + { + "file": "src/openrouter/utils/url.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "generate_url", + "parameters": [ + { + "name": "server_url", + "type_hint": "str", + "default": null + }, + { + "name": "path", + "type_hint": "str", + "default": null + }, + { + "name": "path_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Optional[Any]", + "default": "None" + } + ], + "return_type": "str", + "docstring": null, + "line_number": 29, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_path_params", + "parameters": [ + { + "name": "path_params", + "type_hint": "Any", + "default": null + }, + { + "name": "gbls", + "type_hint": "Any", + "default": null + }, + { + "name": "path_param_values", + "type_hint": "Dict[str, str]", + "default": null + }, + { + "name": "skip_fields", + "type_hint": "List[str]", + "default": null + } + ], + "return_type": "List[str]", + "docstring": null, + "line_number": 49, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "is_optional", + "parameters": [ + { + "name": "field", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 141, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "template_url", + "parameters": [ + { + "name": "url_with_params", + "type_hint": "str", + "default": null + }, + { + "name": "params", + "type_hint": "Dict[str, str]", + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 145, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "remove_suffix", + "parameters": [ + { + "name": "input_string", + "type_hint": null, + "default": null + }, + { + "name": "suffix", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 152, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "decimal", + "typing", + "pydantic", + "pydantic.fields", + "metadata", + "values" + ] + }, + { + "file": "src/openrouter/utils/values.py", + "language": "Python", + "classes": [], + "functions": [ + { + "name": "match_content_type", + "parameters": [ + { + "name": "content_type", + "type_hint": "str", + "default": null + }, + { + "name": "pattern", + "type_hint": "str", + "default": null + } + ], + "return_type": "bool", + "docstring": null, + "line_number": 21, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "match_status_codes", + "parameters": [ + { + "name": "status_codes", + "type_hint": "List[str]", + "default": null + }, + { + "name": "status_code", + "type_hint": "int", + "default": null + } + ], + "return_type": "bool", + "docstring": null, + "line_number": 40, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "cast_partial", + "parameters": [ + { + "name": "typ", + "type_hint": null, + "default": null + } + ], + "return_type": null, + "docstring": null, + "line_number": 55, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "get_global_from_env", + "parameters": [ + { + "name": "value", + "type_hint": "Optional[T]", + "default": null + }, + { + "name": "env_key", + "type_hint": "str", + "default": null + }, + { + "name": "type_cast", + "type_hint": "Callable[[str], T]", + "default": null + } + ], + "return_type": "Optional[T]", + "docstring": null, + "line_number": 58, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "match_response", + "parameters": [ + { + "name": "response", + "type_hint": "Response", + "default": null + }, + { + "name": "code", + "type_hint": "Union[str, List[str]]", + "default": null + }, + { + "name": "content_type", + "type_hint": "str", + "default": null + } + ], + "return_type": "bool", + "docstring": null, + "line_number": 72, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_populate_from_globals", + "parameters": [ + { + "name": "param_name", + "type_hint": "str", + "default": null + }, + { + "name": "value", + "type_hint": "Any", + "default": null + }, + { + "name": "param_metadata_type", + "type_hint": "type", + "default": null + }, + { + "name": "gbls", + "type_hint": "Any", + "default": null + } + ], + "return_type": "Tuple[Any, bool]", + "docstring": null, + "line_number": 81, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_val_to_string", + "parameters": [ + { + "name": "val", + "type_hint": null, + "default": null + } + ], + "return_type": "str", + "docstring": null, + "line_number": 113, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_get_serialized_params", + "parameters": [ + { + "name": "metadata", + "type_hint": "ParamMetadata", + "default": null + }, + { + "name": "field_name", + "type_hint": "str", + "default": null + }, + { + "name": "obj", + "type_hint": "Any", + "default": null + }, + { + "name": "typ", + "type_hint": "type", + "default": null + } + ], + "return_type": "Dict[str, str]", + "docstring": null, + "line_number": 124, + "is_async": false, + "is_method": false, + "decorators": [] + }, + { + "name": "_is_set", + "parameters": [ + { + "name": "value", + "type_hint": "Any", + "default": null + } + ], + "return_type": "bool", + "docstring": null, + "line_number": 136, + "is_async": false, + "is_method": false, + "decorators": [] + } + ], + "comments": [], + "imports": [ + "datetime", + "enum", + "email.message", + "functools", + "os", + "typing", + "httpx", + "pydantic", + "pydantic.fields", + "types.basemodel", + "serializers", + "metadata" + ] + } + ] +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/__init__.md b/.github/skills/openrouter-python-sdk/references/api_reference/__init__.md new file mode 100644 index 000000000..b294b99f1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/__init__.md @@ -0,0 +1,40 @@ +# API Reference: __init__.py + +**Language**: Python + +**Source**: `src/openrouter/utils/__init__.py` + +--- + +## Functions + +### dynamic_import(modname, retries = 3) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| modname | None | - | - | +| retries | None | 3 | - | + +**Returns**: (none) + + + +### __getattr__(attr_name: str) → object + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| attr_name | str | - | - | + +**Returns**: `object` + + + +### __dir__() + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/activityitem.md b/.github/skills/openrouter-python-sdk/references/api_reference/activityitem.md new file mode 100644 index 000000000..a59c65628 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/activityitem.md @@ -0,0 +1,21 @@ +# API Reference: activityitem.py + +**Language**: Python + +**Source**: `src/openrouter/components/activityitem.py` + +--- + +## Classes + +### ActivityItemTypedDict + +**Inherits from**: TypedDict + + + +### ActivityItem + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/analytics.md b/.github/skills/openrouter-python-sdk/references/api_reference/analytics.md new file mode 100644 index 000000000..406dc172b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/analytics.md @@ -0,0 +1,71 @@ +# API Reference: analytics.py + +**Language**: Python + +**Source**: `src/openrouter/analytics.py` + +--- + +## Classes + +### Analytics + +Analytics and usage endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### get_user_activity(self) → operations.GetUserActivityResponse + +Get user activity grouped by endpoint + +Returns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param date_: Filter by a single UTC date in the last 30 days (YYYY-MM-DD format). +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetUserActivityResponse` + + +##### get_user_activity_async(self) → operations.GetUserActivityResponse + +Get user activity grouped by endpoint + +Returns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param date_: Filter by a single UTC date in the last 30 days (YYYY-MM-DD format). +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetUserActivityResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/annotations.md b/.github/skills/openrouter-python-sdk/references/api_reference/annotations.md new file mode 100644 index 000000000..e912b5ad9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/annotations.md @@ -0,0 +1,64 @@ +# API Reference: annotations.py + +**Language**: Python + +**Source**: `src/openrouter/utils/annotations.py` + +--- + +## Functions + +### get_discriminator(model: Any, fieldname: str, key: str) → str + +Recursively search for the discriminator attribute in a model. + +Args: + model (Any): The model to search within. + fieldname (str): The name of the field to search for. + key (str): The key to search for in dictionaries. + +Returns: + str: The name of the discriminator attribute. + +Raises: + ValueError: If the discriminator attribute is not found. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| model | Any | - | - | +| fieldname | str | - | - | +| key | str | - | - | + +**Returns**: `str` + + + +### get_field_discriminator(field: Any) → Optional[str] + +Search for the discriminator attribute in a given field. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field | Any | - | - | + +**Returns**: `Optional[str]` + + + +### search_nested_discriminator(obj: Any) → Optional[str] + +Recursively search for discriminator in nested structures. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| obj | Any | - | - | + +**Returns**: `Optional[str]` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/api_keys.md b/.github/skills/openrouter-python-sdk/references/api_reference/api_keys.md new file mode 100644 index 000000000..27c66563a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/api_keys.md @@ -0,0 +1,349 @@ +# API Reference: api_keys.py + +**Language**: Python + +**Source**: `src/openrouter/api_keys.py` + +--- + +## Classes + +### APIKeys + +API key management endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### list(self) → operations.ListResponse + +List API keys + +List all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param include_disabled: Whether to include disabled API keys in the response +:param offset: Number of API keys to skip for pagination +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListResponse` + + +##### list_async(self) → operations.ListResponse + +List API keys + +List all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param include_disabled: Whether to include disabled API keys in the response +:param offset: Number of API keys to skip for pagination +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListResponse` + + +##### create(self) → operations.CreateKeysResponse + +Create a new API key + +Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param name: Name for the new API key +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param limit: Optional spending limit for the API key in USD +:param limit_reset: Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. +:param include_byok_in_limit: Whether to include BYOK usage in the limit +:param expires_at: Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateKeysResponse` + + +##### create_async(self) → operations.CreateKeysResponse + +Create a new API key + +Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param name: Name for the new API key +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param limit: Optional spending limit for the API key in USD +:param limit_reset: Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. +:param include_byok_in_limit: Whether to include BYOK usage in the limit +:param expires_at: Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateKeysResponse` + + +##### update(self) → operations.UpdateKeysResponse + +Update an API key + +Update an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to update +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param name: New name for the API key +:param disabled: Whether to disable the API key +:param limit: New spending limit for the API key in USD +:param limit_reset: New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. +:param include_byok_in_limit: Whether to include BYOK usage in the limit +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.UpdateKeysResponse` + + +##### update_async(self) → operations.UpdateKeysResponse + +Update an API key + +Update an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to update +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param name: New name for the API key +:param disabled: Whether to disable the API key +:param limit: New spending limit for the API key in USD +:param limit_reset: New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. +:param include_byok_in_limit: Whether to include BYOK usage in the limit +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.UpdateKeysResponse` + + +##### delete(self) → operations.DeleteKeysResponse + +Delete an API key + +Delete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to delete +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.DeleteKeysResponse` + + +##### delete_async(self) → operations.DeleteKeysResponse + +Delete an API key + +Delete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to delete +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.DeleteKeysResponse` + + +##### get(self) → operations.GetKeyResponse + +Get a single API key + +Get a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to retrieve +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetKeyResponse` + + +##### get_async(self) → operations.GetKeyResponse + +Get a single API key + +Get a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param hash: The hash identifier of the API key to retrieve +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetKeyResponse` + + +##### get_current_key_metadata(self) → operations.GetCurrentKeyResponse + +Get current API key + +Get information on the API key associated with the current authentication session + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetCurrentKeyResponse` + + +##### get_current_key_metadata_async(self) → operations.GetCurrentKeyResponse + +Get current API key + +Get information on the API key associated with the current authentication session + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetCurrentKeyResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessage.md new file mode 100644 index 000000000..c9aadbe7f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessage.md @@ -0,0 +1,39 @@ +# API Reference: assistantmessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/assistantmessage.py` + +--- + +## Classes + +### AssistantMessageTypedDict + +Assistant message for requests and responses + +**Inherits from**: TypedDict + + + +### AssistantMessage + +Assistant message for requests and responses + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessageimages.md b/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessageimages.md new file mode 100644 index 000000000..feb174898 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/assistantmessageimages.md @@ -0,0 +1,33 @@ +# API Reference: assistantmessageimages.py + +**Language**: Python + +**Source**: `src/openrouter/components/assistantmessageimages.py` + +--- + +## Classes + +### AssistantMessageImagesImageURLTypedDict + +**Inherits from**: TypedDict + + + +### AssistantMessageImagesImageURL + +**Inherits from**: BaseModel + + + +### AssistantMessageImagesTypedDict + +**Inherits from**: TypedDict + + + +### AssistantMessageImages + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponse_error.md new file mode 100644 index 000000000..34f728461 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: badgatewayresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/badgatewayresponse_error.py` + +--- + +## Classes + +### BadGatewayResponseErrorData + +**Inherits from**: BaseModel + + + +### BadGatewayResponseError + +Bad Gateway - Provider/upstream API failure + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: BadGatewayResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | BadGatewayResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponseerrordata.md new file mode 100644 index 000000000..0c4e3c3f9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/badgatewayresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: badgatewayresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/badgatewayresponseerrordata.py` + +--- + +## Classes + +### BadGatewayResponseErrorDataTypedDict + +Error data for BadGatewayResponse + +**Inherits from**: TypedDict + + + +### BadGatewayResponseErrorData + +Error data for BadGatewayResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponse_error.md new file mode 100644 index 000000000..c1553a75c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: badrequestresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/badrequestresponse_error.py` + +--- + +## Classes + +### BadRequestResponseErrorData + +**Inherits from**: BaseModel + + + +### BadRequestResponseError + +Bad Request - Invalid request parameters or malformed input + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: BadRequestResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | BadRequestResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponseerrordata.md new file mode 100644 index 000000000..711247790 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/badrequestresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: badrequestresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/badrequestresponseerrordata.py` + +--- + +## Classes + +### BadRequestResponseErrorDataTypedDict + +Error data for BadRequestResponse + +**Inherits from**: TypedDict + + + +### BadRequestResponseErrorData + +Error data for BadRequestResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/basemodel.md b/.github/skills/openrouter-python-sdk/references/api_reference/basemodel.md new file mode 100644 index 000000000..4b49eaf8d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/basemodel.md @@ -0,0 +1,45 @@ +# API Reference: basemodel.py + +**Language**: Python + +**Source**: `src/openrouter/types/basemodel.py` + +--- + +## Classes + +### BaseModel + +**Inherits from**: PydanticBaseModel + + + +### Unset + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self) + +**Decorators**: `@model_serializer(mode='plain')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __bool__(self) → Literal[False] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `Literal[False]` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/basesdk.md b/.github/skills/openrouter-python-sdk/references/api_reference/basesdk.md new file mode 100644 index 000000000..b737558af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/basesdk.md @@ -0,0 +1,174 @@ +# API Reference: basesdk.py + +**Language**: Python + +**Source**: `src/openrouter/basesdk.py` + +--- + +## Classes + +### BaseSDK + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| sdk_config | SDKConfiguration | - | - | +| parent_ref | Optional[object] | None | - | + +**Returns**: `None` + + +##### _get_url(self, base_url, url_variables) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| base_url | None | - | - | +| url_variables | None | - | - | + + +##### _build_request_async(self, method, path, base_url, url_variables, request, request_body_required, request_has_path_params, request_has_query_params, user_agent_header, accept_header_value, _globals = None, security = None, timeout_ms: Optional[int] = None, get_serialized_body: Optional[Callable[[], Optional[SerializedRequestBody]]] = None, url_override: Optional[str] = None, http_headers: Optional[Mapping[str, str]] = None, allow_empty_value: Optional[List[str]] = None) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| method | None | - | - | +| path | None | - | - | +| base_url | None | - | - | +| url_variables | None | - | - | +| request | None | - | - | +| request_body_required | None | - | - | +| request_has_path_params | None | - | - | +| request_has_query_params | None | - | - | +| user_agent_header | None | - | - | +| accept_header_value | None | - | - | +| _globals | None | None | - | +| security | None | None | - | +| timeout_ms | Optional[int] | None | - | +| get_serialized_body | Optional[Callable[[], Optional[SerializedRequestBody]]] | None | - | +| url_override | Optional[str] | None | - | +| http_headers | Optional[Mapping[str, str]] | None | - | +| allow_empty_value | Optional[List[str]] | None | - | + +**Returns**: `httpx.Request` + + +##### _build_request(self, method, path, base_url, url_variables, request, request_body_required, request_has_path_params, request_has_query_params, user_agent_header, accept_header_value, _globals = None, security = None, timeout_ms: Optional[int] = None, get_serialized_body: Optional[Callable[[], Optional[SerializedRequestBody]]] = None, url_override: Optional[str] = None, http_headers: Optional[Mapping[str, str]] = None, allow_empty_value: Optional[List[str]] = None) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| method | None | - | - | +| path | None | - | - | +| base_url | None | - | - | +| url_variables | None | - | - | +| request | None | - | - | +| request_body_required | None | - | - | +| request_has_path_params | None | - | - | +| request_has_query_params | None | - | - | +| user_agent_header | None | - | - | +| accept_header_value | None | - | - | +| _globals | None | None | - | +| security | None | None | - | +| timeout_ms | Optional[int] | None | - | +| get_serialized_body | Optional[Callable[[], Optional[SerializedRequestBody]]] | None | - | +| url_override | Optional[str] | None | - | +| http_headers | Optional[Mapping[str, str]] | None | - | +| allow_empty_value | Optional[List[str]] | None | - | + +**Returns**: `httpx.Request` + + +##### _build_request_with_client(self, client, method, path, base_url, url_variables, request, request_body_required, request_has_path_params, request_has_query_params, user_agent_header, accept_header_value, _globals = None, security = None, timeout_ms: Optional[int] = None, get_serialized_body: Optional[Callable[[], Optional[SerializedRequestBody]]] = None, url_override: Optional[str] = None, http_headers: Optional[Mapping[str, str]] = None, allow_empty_value: Optional[List[str]] = None) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| client | None | - | - | +| method | None | - | - | +| path | None | - | - | +| base_url | None | - | - | +| url_variables | None | - | - | +| request | None | - | - | +| request_body_required | None | - | - | +| request_has_path_params | None | - | - | +| request_has_query_params | None | - | - | +| user_agent_header | None | - | - | +| accept_header_value | None | - | - | +| _globals | None | None | - | +| security | None | None | - | +| timeout_ms | Optional[int] | None | - | +| get_serialized_body | Optional[Callable[[], Optional[SerializedRequestBody]]] | None | - | +| url_override | Optional[str] | None | - | +| http_headers | Optional[Mapping[str, str]] | None | - | +| allow_empty_value | Optional[List[str]] | None | - | + +**Returns**: `httpx.Request` + + +##### do_request(self, hook_ctx, request, error_status_codes, stream = False, retry_config: Optional[Tuple[RetryConfig, List[str]]] = None) → httpx.Response + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | None | - | - | +| request | None | - | - | +| error_status_codes | None | - | - | +| stream | None | False | - | +| retry_config | Optional[Tuple[RetryConfig, List[str]]] | None | - | + +**Returns**: `httpx.Response` + + +##### do_request_async(self, hook_ctx, request, error_status_codes, stream = False, retry_config: Optional[Tuple[RetryConfig, List[str]]] = None) → httpx.Response + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | None | - | - | +| request | None | - | - | +| error_status_codes | None | - | - | +| stream | None | False | - | +| retry_config | Optional[Tuple[RetryConfig, List[str]]] | None | - | + +**Returns**: `httpx.Response` + + + + +## Functions + +### do() + +**Returns**: (none) + + + +### do() + +**Async function** + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/beta.md b/.github/skills/openrouter-python-sdk/references/api_reference/beta.md new file mode 100644 index 000000000..72c8ce2c8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/beta.md @@ -0,0 +1,39 @@ +# API Reference: beta.py + +**Language**: Python + +**Source**: `src/openrouter/beta.py` + +--- + +## Classes + +### Beta + +**Inherits from**: BaseSDK + +#### Methods + +##### __init__(self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| sdk_config | SDKConfiguration | - | - | +| parent_ref | Optional[object] | None | - | + +**Returns**: `None` + + +##### _init_sdks(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignkeystoguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignkeystoguardrail.md new file mode 100644 index 000000000..565abb006 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignkeystoguardrail.md @@ -0,0 +1,61 @@ +# API Reference: bulkassignkeystoguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/bulkassignkeystoguardrail.py` + +--- + +## Classes + +### BulkAssignKeysToGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignKeysToGuardrailGlobals + +**Inherits from**: BaseModel + + + +### BulkAssignKeysToGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignKeysToGuardrailRequestBody + +**Inherits from**: BaseModel + + + +### BulkAssignKeysToGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignKeysToGuardrailRequest + +**Inherits from**: BaseModel + + + +### BulkAssignKeysToGuardrailResponseTypedDict + +Assignment result + +**Inherits from**: TypedDict + + + +### BulkAssignKeysToGuardrailResponse + +Assignment result + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignmemberstoguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignmemberstoguardrail.md new file mode 100644 index 000000000..c43e9f36d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/bulkassignmemberstoguardrail.md @@ -0,0 +1,61 @@ +# API Reference: bulkassignmemberstoguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/bulkassignmemberstoguardrail.py` + +--- + +## Classes + +### BulkAssignMembersToGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignMembersToGuardrailGlobals + +**Inherits from**: BaseModel + + + +### BulkAssignMembersToGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignMembersToGuardrailRequestBody + +**Inherits from**: BaseModel + + + +### BulkAssignMembersToGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### BulkAssignMembersToGuardrailRequest + +**Inherits from**: BaseModel + + + +### BulkAssignMembersToGuardrailResponseTypedDict + +Assignment result + +**Inherits from**: TypedDict + + + +### BulkAssignMembersToGuardrailResponse + +Assignment result + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignkeysfromguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignkeysfromguardrail.md new file mode 100644 index 000000000..3b67a6e38 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignkeysfromguardrail.md @@ -0,0 +1,61 @@ +# API Reference: bulkunassignkeysfromguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/bulkunassignkeysfromguardrail.py` + +--- + +## Classes + +### BulkUnassignKeysFromGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignKeysFromGuardrailGlobals + +**Inherits from**: BaseModel + + + +### BulkUnassignKeysFromGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignKeysFromGuardrailRequestBody + +**Inherits from**: BaseModel + + + +### BulkUnassignKeysFromGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignKeysFromGuardrailRequest + +**Inherits from**: BaseModel + + + +### BulkUnassignKeysFromGuardrailResponseTypedDict + +Unassignment result + +**Inherits from**: TypedDict + + + +### BulkUnassignKeysFromGuardrailResponse + +Unassignment result + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignmembersfromguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignmembersfromguardrail.md new file mode 100644 index 000000000..7a07cbec9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/bulkunassignmembersfromguardrail.md @@ -0,0 +1,61 @@ +# API Reference: bulkunassignmembersfromguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/bulkunassignmembersfromguardrail.py` + +--- + +## Classes + +### BulkUnassignMembersFromGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignMembersFromGuardrailGlobals + +**Inherits from**: BaseModel + + + +### BulkUnassignMembersFromGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignMembersFromGuardrailRequestBody + +**Inherits from**: BaseModel + + + +### BulkUnassignMembersFromGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### BulkUnassignMembersFromGuardrailRequest + +**Inherits from**: BaseModel + + + +### BulkUnassignMembersFromGuardrailResponseTypedDict + +Unassignment result + +**Inherits from**: TypedDict + + + +### BulkUnassignMembersFromGuardrailResponse + +Unassignment result + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chat.md b/.github/skills/openrouter-python-sdk/references/api_reference/chat.md new file mode 100644 index 000000000..6f1a66131 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chat.md @@ -0,0 +1,367 @@ +# API Reference: chat.py + +**Language**: Python + +**Source**: `src/openrouter/chat.py` + +--- + +## Classes + +### SendAcceptEnum + +**Inherits from**: str, Enum + + + +### Chat + +**Inherits from**: BaseSDK + +#### Methods + +##### send(self) → components.ChatResponse + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ChatResponse` + + +##### send(self) → eventstreaming.EventStream[components.ChatStreamingResponseChunk] + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `eventstreaming.EventStream[components.ChatStreamingResponseChunk]` + + +##### send(self) → operations.SendChatCompletionRequestResponse + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.SendChatCompletionRequestResponse` + + +##### send_async(self) → components.ChatResponse + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ChatResponse` + + +##### send_async(self) → eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk] + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]` + + +##### send_async(self) → operations.SendChatCompletionRequestResponse + +Create a chat completion + +Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes. + +:param messages: List of messages for the conversation +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: Unique user identifier +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param model: Model to use for completion +:param models: Models to use for completion +:param frequency_penalty: Frequency penalty (-2.0 to 2.0) +:param logit_bias: Token logit bias adjustments +:param logprobs: Return log probabilities +:param top_logprobs: Number of top log probabilities to return (0-20) +:param max_completion_tokens: Maximum tokens in completion +:param max_tokens: Maximum tokens (deprecated, use max_completion_tokens) +:param metadata: Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) +:param presence_penalty: Presence penalty (-2.0 to 2.0) +:param reasoning: Configuration options for reasoning models +:param response_format: Response format configuration +:param seed: Random seed for deterministic outputs +:param stop: Stop sequences (up to 4) +:param stream: Enable streaming response +:param stream_options: Streaming configuration options +:param temperature: Sampling temperature (0-2) +:param parallel_tool_calls: +:param tool_choice: Tool choice configuration +:param tools: Available tools for function calling +:param top_p: Nucleus sampling parameter (0-1) +:param debug: Debug options for inspecting request transformations (streaming only) +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.SendChatCompletionRequestResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationparams.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationparams.md new file mode 100644 index 000000000..3814e5701 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationparams.md @@ -0,0 +1,242 @@ +# API Reference: chatgenerationparams.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatgenerationparams.py` + +--- + +## Classes + +### ChatGenerationParamsProviderSortConfigTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsProviderSortConfig + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ChatGenerationParamsMaxPriceTypedDict + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsProviderTypedDict + +When multiple model providers are available, optionally indicate your routing preference. + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsProvider + +When multiple model providers are available, optionally indicate your routing preference. + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ChatGenerationParamsPluginResponseHealingTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsPluginResponseHealing + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsPluginFileParserTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsPluginFileParser + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsPluginWebTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsPluginWeb + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsPluginModerationTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsPluginModeration + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsPluginAutoRouterTypedDict + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsPluginAutoRouter + +**Inherits from**: BaseModel + + + +### ChatGenerationParamsTraceTypedDict + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + +**Inherits from**: TypedDict + + + +### ChatGenerationParamsTrace + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + +**Inherits from**: BaseModel + +#### Methods + +##### additional_properties(self) + +**Decorators**: `@property` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### additional_properties(self, value) + +**Decorators**: `@additional_properties.setter` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| value | None | - | - | + + + + +### ReasoningTypedDict + +Configuration options for reasoning models + +**Inherits from**: TypedDict + + + +### Reasoning + +Configuration options for reasoning models + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ChatGenerationParamsTypedDict + +Chat completion request parameters + +**Inherits from**: TypedDict + + + +### ChatGenerationParams + +Chat completion request parameters + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationtokenusage.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationtokenusage.md new file mode 100644 index 000000000..dc653fa0a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatgenerationtokenusage.md @@ -0,0 +1,85 @@ +# API Reference: chatgenerationtokenusage.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatgenerationtokenusage.py` + +--- + +## Classes + +### CompletionTokensDetailsTypedDict + +Detailed completion token usage + +**Inherits from**: TypedDict + + + +### CompletionTokensDetails + +Detailed completion token usage + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### PromptTokensDetailsTypedDict + +Detailed prompt token usage + +**Inherits from**: TypedDict + + + +### PromptTokensDetails + +Detailed prompt token usage + +**Inherits from**: BaseModel + + + +### ChatGenerationTokenUsageTypedDict + +Token usage statistics + +**Inherits from**: TypedDict + + + +### ChatGenerationTokenUsage + +Token usage statistics + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemaudio.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemaudio.md new file mode 100644 index 000000000..4f9334cbc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemaudio.md @@ -0,0 +1,37 @@ +# API Reference: chatmessagecontentitemaudio.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemaudio.py` + +--- + +## Classes + +### ChatMessageContentItemAudioInputAudioTypedDict + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemAudioInputAudio + +**Inherits from**: BaseModel + + + +### ChatMessageContentItemAudioTypedDict + +Audio input content part. Supported audio formats vary by provider. + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemAudio + +Audio input content part. Supported audio formats vary by provider. + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemcachecontrol.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemcachecontrol.md new file mode 100644 index 000000000..84757781a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemcachecontrol.md @@ -0,0 +1,25 @@ +# API Reference: chatmessagecontentitemcachecontrol.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemcachecontrol.py` + +--- + +## Classes + +### ChatMessageContentItemCacheControlTypedDict + +Cache control for the content part + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemCacheControl + +Cache control for the content part + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemimage.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemimage.md new file mode 100644 index 000000000..59a0d58a1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemimage.md @@ -0,0 +1,37 @@ +# API Reference: chatmessagecontentitemimage.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemimage.py` + +--- + +## Classes + +### ChatMessageContentItemImageImageURLTypedDict + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemImageImageURL + +**Inherits from**: BaseModel + + + +### ChatMessageContentItemImageTypedDict + +Image content part for vision models + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemImage + +Image content part for vision models + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemtext.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemtext.md new file mode 100644 index 000000000..f8bdcd9b9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemtext.md @@ -0,0 +1,25 @@ +# API Reference: chatmessagecontentitemtext.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemtext.py` + +--- + +## Classes + +### ChatMessageContentItemTextTypedDict + +Text content part + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemText + +Text content part + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideo.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideo.md new file mode 100644 index 000000000..a92b2a1ae --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideo.md @@ -0,0 +1,25 @@ +# API Reference: chatmessagecontentitemvideo.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemvideo.py` + +--- + +## Classes + +### ChatMessageContentItemVideoTypedDict + +Video input content part + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemVideo + +Video input content part + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideolegacy.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideolegacy.md new file mode 100644 index 000000000..f332e2cc4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagecontentitemvideolegacy.md @@ -0,0 +1,25 @@ +# API Reference: chatmessagecontentitemvideolegacy.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagecontentitemvideolegacy.py` + +--- + +## Classes + +### ChatMessageContentItemVideoLegacyTypedDict + +Video input content part (legacy format - deprecated) + +**Inherits from**: TypedDict + + + +### ChatMessageContentItemVideoLegacy + +Video input content part (legacy format - deprecated) + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprob.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprob.md new file mode 100644 index 000000000..1cb7242e2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprob.md @@ -0,0 +1,65 @@ +# API Reference: chatmessagetokenlogprob.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagetokenlogprob.py` + +--- + +## Classes + +### ChatMessageTokenLogprobTopLogprobTypedDict + +**Inherits from**: TypedDict + + + +### ChatMessageTokenLogprobTopLogprob + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ChatMessageTokenLogprobTypedDict + +Token log probability information + +**Inherits from**: TypedDict + + + +### ChatMessageTokenLogprob + +Token log probability information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprobs.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprobs.md new file mode 100644 index 000000000..72820f559 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetokenlogprobs.md @@ -0,0 +1,39 @@ +# API Reference: chatmessagetokenlogprobs.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagetokenlogprobs.py` + +--- + +## Classes + +### ChatMessageTokenLogprobsTypedDict + +Log probabilities for the completion + +**Inherits from**: TypedDict + + + +### ChatMessageTokenLogprobs + +Log probabilities for the completion + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetoolcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetoolcall.md new file mode 100644 index 000000000..b8b639ce2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatmessagetoolcall.md @@ -0,0 +1,37 @@ +# API Reference: chatmessagetoolcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatmessagetoolcall.py` + +--- + +## Classes + +### ChatMessageToolCallFunctionTypedDict + +**Inherits from**: TypedDict + + + +### ChatMessageToolCallFunction + +**Inherits from**: BaseModel + + + +### ChatMessageToolCallTypedDict + +Tool call made by the assistant + +**Inherits from**: TypedDict + + + +### ChatMessageToolCall + +Tool call made by the assistant + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatresponse.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatresponse.md new file mode 100644 index 000000000..536d50393 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatresponse.md @@ -0,0 +1,39 @@ +# API Reference: chatresponse.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatresponse.py` + +--- + +## Classes + +### ChatResponseTypedDict + +Chat completion response + +**Inherits from**: TypedDict + + + +### ChatResponse + +Chat completion response + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatresponsechoice.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatresponsechoice.md new file mode 100644 index 000000000..b02c7e595 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatresponsechoice.md @@ -0,0 +1,39 @@ +# API Reference: chatresponsechoice.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatresponsechoice.py` + +--- + +## Classes + +### ChatResponseChoiceTypedDict + +Chat completion choice + +**Inherits from**: TypedDict + + + +### ChatResponseChoice + +Chat completion choice + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingchoice.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingchoice.md new file mode 100644 index 000000000..004874b6d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingchoice.md @@ -0,0 +1,39 @@ +# API Reference: chatstreamingchoice.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatstreamingchoice.py` + +--- + +## Classes + +### ChatStreamingChoiceTypedDict + +Streaming completion choice chunk + +**Inherits from**: TypedDict + + + +### ChatStreamingChoice + +Streaming completion choice chunk + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagechunk.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagechunk.md new file mode 100644 index 000000000..9a51cef53 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagechunk.md @@ -0,0 +1,39 @@ +# API Reference: chatstreamingmessagechunk.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatstreamingmessagechunk.py` + +--- + +## Classes + +### ChatStreamingMessageChunkTypedDict + +Delta changes in streaming response + +**Inherits from**: TypedDict + + + +### ChatStreamingMessageChunk + +Delta changes in streaming response + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagetoolcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagetoolcall.md new file mode 100644 index 000000000..0ec0b41e7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingmessagetoolcall.md @@ -0,0 +1,41 @@ +# API Reference: chatstreamingmessagetoolcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatstreamingmessagetoolcall.py` + +--- + +## Classes + +### ChatStreamingMessageToolCallFunctionTypedDict + +Function call details + +**Inherits from**: TypedDict + + + +### ChatStreamingMessageToolCallFunction + +Function call details + +**Inherits from**: BaseModel + + + +### ChatStreamingMessageToolCallTypedDict + +Tool call delta for streaming responses + +**Inherits from**: TypedDict + + + +### ChatStreamingMessageToolCall + +Tool call delta for streaming responses + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingresponsechunk.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingresponsechunk.md new file mode 100644 index 000000000..ba35fc31e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamingresponsechunk.md @@ -0,0 +1,55 @@ +# API Reference: chatstreamingresponsechunk.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatstreamingresponsechunk.py` + +--- + +## Classes + +### ErrorTypedDict + +Error information + +**Inherits from**: TypedDict + + + +### Error + +Error information + +**Inherits from**: BaseModel + + + +### ChatStreamingResponseChunkTypedDict + +Streaming chat completion chunk + +**Inherits from**: TypedDict + + + +### ChatStreamingResponseChunk + +Streaming chat completion chunk + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamoptions.md b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamoptions.md new file mode 100644 index 000000000..1f818c1fd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/chatstreamoptions.md @@ -0,0 +1,25 @@ +# API Reference: chatstreamoptions.py + +**Language**: Python + +**Source**: `src/openrouter/components/chatstreamoptions.py` + +--- + +## Classes + +### ChatStreamOptionsTypedDict + +Streaming configuration options + +**Inherits from**: TypedDict + + + +### ChatStreamOptions + +Streaming configuration options + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/check_types.md b/.github/skills/openrouter-python-sdk/references/api_reference/check_types.md new file mode 100644 index 000000000..910d208da --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/check_types.md @@ -0,0 +1,51 @@ +# API Reference: check_types.py + +**Language**: Python + +**Source**: `scripts/check_types.py` + +--- + +## Functions + +### compute_hash(model_ids: list[str]) → str + +Compute SHA-256 hash of sorted model IDs (first 16 chars). + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| model_ids | list[str] | - | - | + +**Returns**: `str` + + + +### extract_hash(content: str) → str | None + +Extract MODEL_HASH from types file content. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| content | str | - | - | + +**Returns**: `str | None` + + + +### fetch_models() → list[str] + +Fetch model IDs from OpenRouter API. + +**Returns**: `list[str]` + + + +### main() → None + +**Returns**: `None` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createauthkeyscode.md b/.github/skills/openrouter-python-sdk/references/api_reference/createauthkeyscode.md new file mode 100644 index 000000000..274c2bb8c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createauthkeyscode.md @@ -0,0 +1,91 @@ +# API Reference: createauthkeyscode.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createauthkeyscode.py` + +--- + +## Classes + +### CreateAuthKeysCodeGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateAuthKeysCodeGlobals + +**Inherits from**: BaseModel + + + +### CreateAuthKeysCodeRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### CreateAuthKeysCodeRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### CreateAuthKeysCodeRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateAuthKeysCodeRequest + +**Inherits from**: BaseModel + + + +### CreateAuthKeysCodeDataTypedDict + +Auth code data + +**Inherits from**: TypedDict + + + +### CreateAuthKeysCodeData + +Auth code data + +**Inherits from**: BaseModel + + + +### CreateAuthKeysCodeResponseTypedDict + +Successfully created authorization code + +**Inherits from**: TypedDict + + + +### CreateAuthKeysCodeResponse + +Successfully created authorization code + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createchargerequest.md b/.github/skills/openrouter-python-sdk/references/api_reference/createchargerequest.md new file mode 100644 index 000000000..d20fa2359 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createchargerequest.md @@ -0,0 +1,25 @@ +# API Reference: createchargerequest.py + +**Language**: Python + +**Source**: `src/openrouter/components/createchargerequest.py` + +--- + +## Classes + +### CreateChargeRequestTypedDict + +Create a Coinbase charge for crypto payment + +**Inherits from**: TypedDict + + + +### CreateChargeRequest + +Create a Coinbase charge for crypto payment + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createcoinbasecharge.md b/.github/skills/openrouter-python-sdk/references/api_reference/createcoinbasecharge.md new file mode 100644 index 000000000..666d0f78d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createcoinbasecharge.md @@ -0,0 +1,121 @@ +# API Reference: createcoinbasecharge.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createcoinbasecharge.py` + +--- + +## Classes + +### CreateCoinbaseChargeGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateCoinbaseChargeGlobals + +**Inherits from**: BaseModel + + + +### CreateCoinbaseChargeSecurityTypedDict + +**Inherits from**: TypedDict + + + +### CreateCoinbaseChargeSecurity + +**Inherits from**: BaseModel + + + +### CreateCoinbaseChargeRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateCoinbaseChargeRequest + +**Inherits from**: BaseModel + + + +### CallDataTypedDict + +**Inherits from**: TypedDict + + + +### CallData + +**Inherits from**: BaseModel + + + +### MetadataTypedDict + +**Inherits from**: TypedDict + + + +### Metadata + +**Inherits from**: BaseModel + + + +### TransferIntentTypedDict + +**Inherits from**: TypedDict + + + +### TransferIntent + +**Inherits from**: BaseModel + + + +### Web3DataTypedDict + +**Inherits from**: TypedDict + + + +### Web3Data + +**Inherits from**: BaseModel + + + +### CreateCoinbaseChargeDataTypedDict + +**Inherits from**: TypedDict + + + +### CreateCoinbaseChargeData + +**Inherits from**: BaseModel + + + +### CreateCoinbaseChargeResponseTypedDict + +Returns the calldata to fulfill the transaction + +**Inherits from**: TypedDict + + + +### CreateCoinbaseChargeResponse + +Returns the calldata to fulfill the transaction + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createembeddings.md b/.github/skills/openrouter-python-sdk/references/api_reference/createembeddings.md new file mode 100644 index 000000000..ceb51e0ea --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createembeddings.md @@ -0,0 +1,133 @@ +# API Reference: createembeddings.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createembeddings.py` + +--- + +## Classes + +### CreateEmbeddingsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateEmbeddingsGlobals + +**Inherits from**: BaseModel + + + +### ImageURLTypedDict + +**Inherits from**: TypedDict + + + +### ImageURL + +**Inherits from**: BaseModel + + + +### ContentImageURLTypedDict + +**Inherits from**: TypedDict + + + +### ContentImageURL + +**Inherits from**: BaseModel + + + +### ContentTextTypedDict + +**Inherits from**: TypedDict + + + +### ContentText + +**Inherits from**: BaseModel + + + +### InputTypedDict + +**Inherits from**: TypedDict + + + +### Input + +**Inherits from**: BaseModel + + + +### CreateEmbeddingsRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### CreateEmbeddingsRequestBody + +**Inherits from**: BaseModel + + + +### CreateEmbeddingsRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateEmbeddingsRequest + +**Inherits from**: BaseModel + + + +### CreateEmbeddingsDataTypedDict + +**Inherits from**: TypedDict + + + +### CreateEmbeddingsData + +**Inherits from**: BaseModel + + + +### UsageTypedDict + +**Inherits from**: TypedDict + + + +### Usage + +**Inherits from**: BaseModel + + + +### CreateEmbeddingsResponseBodyTypedDict + +Embedding response + +**Inherits from**: TypedDict + + + +### CreateEmbeddingsResponseBody + +Embedding response + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/createguardrail.md new file mode 100644 index 000000000..1f5843e64 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createguardrail.md @@ -0,0 +1,105 @@ +# API Reference: createguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createguardrail.py` + +--- + +## Classes + +### CreateGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateGuardrailGlobals + +**Inherits from**: BaseModel + + + +### CreateGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### CreateGuardrailRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### CreateGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateGuardrailRequest + +**Inherits from**: BaseModel + + + +### CreateGuardrailDataTypedDict + +The created guardrail + +**Inherits from**: TypedDict + + + +### CreateGuardrailData + +The created guardrail + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### CreateGuardrailResponseTypedDict + +Guardrail created successfully + +**Inherits from**: TypedDict + + + +### CreateGuardrailResponse + +Guardrail created successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createkeys.md b/.github/skills/openrouter-python-sdk/references/api_reference/createkeys.md new file mode 100644 index 000000000..f974de619 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createkeys.md @@ -0,0 +1,105 @@ +# API Reference: createkeys.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createkeys.py` + +--- + +## Classes + +### CreateKeysGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateKeysGlobals + +**Inherits from**: BaseModel + + + +### CreateKeysRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### CreateKeysRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### CreateKeysRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateKeysRequest + +**Inherits from**: BaseModel + + + +### CreateKeysDataTypedDict + +The created API key information + +**Inherits from**: TypedDict + + + +### CreateKeysData + +The created API key information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### CreateKeysResponseTypedDict + +API key created successfully + +**Inherits from**: TypedDict + + + +### CreateKeysResponse + +API key created successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/createresponses.md b/.github/skills/openrouter-python-sdk/references/api_reference/createresponses.md new file mode 100644 index 000000000..4cc921717 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/createresponses.md @@ -0,0 +1,49 @@ +# API Reference: createresponses.py + +**Language**: Python + +**Source**: `src/openrouter/operations/createresponses.py` + +--- + +## Classes + +### CreateResponsesGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### CreateResponsesGlobals + +**Inherits from**: BaseModel + + + +### CreateResponsesRequestTypedDict + +**Inherits from**: TypedDict + + + +### CreateResponsesRequest + +**Inherits from**: BaseModel + + + +### CreateResponsesResponseBodyTypedDict + +Successful response + +**Inherits from**: TypedDict + + + +### CreateResponsesResponseBody + +Successful response + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/credits.md b/.github/skills/openrouter-python-sdk/references/api_reference/credits.md new file mode 100644 index 000000000..9370b6293 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/credits.md @@ -0,0 +1,127 @@ +# API Reference: credits.py + +**Language**: Python + +**Source**: `src/openrouter/credits.py` + +--- + +## Classes + +### Credits + +Credit management endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### get_credits(self) → operations.GetCreditsResponse + +Get remaining credits + +Get total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetCreditsResponse` + + +##### get_credits_async(self) → operations.GetCreditsResponse + +Get remaining credits + +Get total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetCreditsResponse` + + +##### create_coinbase_charge(self) → operations.CreateCoinbaseChargeResponse + +Create a Coinbase charge for crypto payment + +Create a Coinbase charge for crypto payment + +:param security: +:param amount: +:param sender: +:param chain_id: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateCoinbaseChargeResponse` + + +##### create_coinbase_charge_async(self) → operations.CreateCoinbaseChargeResponse + +Create a Coinbase charge for crypto payment + +Create a Coinbase charge for crypto payment + +:param security: +:param amount: +:param sender: +:param chain_id: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateCoinbaseChargeResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/datetimes.md b/.github/skills/openrouter-python-sdk/references/api_reference/datetimes.md new file mode 100644 index 000000000..afc7d048c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/datetimes.md @@ -0,0 +1,26 @@ +# API Reference: datetimes.py + +**Language**: Python + +**Source**: `src/openrouter/utils/datetimes.py` + +--- + +## Functions + +### parse_datetime(datetime_string: str) → datetime + +Convert a RFC 3339 / ISO 8601 formatted string into a datetime object. +Python versions 3.11 and later support parsing RFC 3339 directly with +datetime.fromisoformat(), but for earlier versions, this function +encapsulates the necessary extra logic. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| datetime_string | str | - | - | + +**Returns**: `datetime` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/debugoptions.md b/.github/skills/openrouter-python-sdk/references/api_reference/debugoptions.md new file mode 100644 index 000000000..629f4b309 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/debugoptions.md @@ -0,0 +1,25 @@ +# API Reference: debugoptions.py + +**Language**: Python + +**Source**: `src/openrouter/components/debugoptions.py` + +--- + +## Classes + +### DebugOptionsTypedDict + +Debug options for inspecting request transformations (streaming only) + +**Inherits from**: TypedDict + + + +### DebugOptions + +Debug options for inspecting request transformations (streaming only) + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/defaultparameters.md b/.github/skills/openrouter-python-sdk/references/api_reference/defaultparameters.md new file mode 100644 index 000000000..bab14e350 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/defaultparameters.md @@ -0,0 +1,39 @@ +# API Reference: defaultparameters.py + +**Language**: Python + +**Source**: `src/openrouter/components/defaultparameters.py` + +--- + +## Classes + +### DefaultParametersTypedDict + +Default parameters for this model + +**Inherits from**: TypedDict + + + +### DefaultParameters + +Default parameters for this model + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/deleteguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/deleteguardrail.md new file mode 100644 index 000000000..92a4b8ead --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/deleteguardrail.md @@ -0,0 +1,49 @@ +# API Reference: deleteguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/deleteguardrail.py` + +--- + +## Classes + +### DeleteGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### DeleteGuardrailGlobals + +**Inherits from**: BaseModel + + + +### DeleteGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### DeleteGuardrailRequest + +**Inherits from**: BaseModel + + + +### DeleteGuardrailResponseTypedDict + +Guardrail deleted successfully + +**Inherits from**: TypedDict + + + +### DeleteGuardrailResponse + +Guardrail deleted successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/deletekeys.md b/.github/skills/openrouter-python-sdk/references/api_reference/deletekeys.md new file mode 100644 index 000000000..206f11375 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/deletekeys.md @@ -0,0 +1,49 @@ +# API Reference: deletekeys.py + +**Language**: Python + +**Source**: `src/openrouter/operations/deletekeys.py` + +--- + +## Classes + +### DeleteKeysGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### DeleteKeysGlobals + +**Inherits from**: BaseModel + + + +### DeleteKeysRequestTypedDict + +**Inherits from**: TypedDict + + + +### DeleteKeysRequest + +**Inherits from**: BaseModel + + + +### DeleteKeysResponseTypedDict + +API key deleted successfully + +**Inherits from**: TypedDict + + + +### DeleteKeysResponse + +API key deleted successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/developermessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/developermessage.md new file mode 100644 index 000000000..cd96eb6ac --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/developermessage.md @@ -0,0 +1,25 @@ +# API Reference: developermessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/developermessage.py` + +--- + +## Classes + +### DeveloperMessageTypedDict + +Developer message + +**Inherits from**: TypedDict + + + +### DeveloperMessage + +Developer message + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponse_error.md new file mode 100644 index 000000000..a09e468aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: edgenetworktimeoutresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/edgenetworktimeoutresponse_error.py` + +--- + +## Classes + +### EdgeNetworkTimeoutResponseErrorData + +**Inherits from**: BaseModel + + + +### EdgeNetworkTimeoutResponseError + +Infrastructure Timeout - Provider request timed out at edge network + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: EdgeNetworkTimeoutResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | EdgeNetworkTimeoutResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponseerrordata.md new file mode 100644 index 000000000..7f29671c7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/edgenetworktimeoutresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: edgenetworktimeoutresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/edgenetworktimeoutresponseerrordata.py` + +--- + +## Classes + +### EdgeNetworkTimeoutResponseErrorDataTypedDict + +Error data for EdgeNetworkTimeoutResponse + +**Inherits from**: TypedDict + + + +### EdgeNetworkTimeoutResponseErrorData + +Error data for EdgeNetworkTimeoutResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/embeddings.md b/.github/skills/openrouter-python-sdk/references/api_reference/embeddings.md new file mode 100644 index 000000000..810aaf05e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/embeddings.md @@ -0,0 +1,141 @@ +# API Reference: embeddings.py + +**Language**: Python + +**Source**: `src/openrouter/embeddings.py` + +--- + +## Classes + +### GenerateAcceptEnum + +**Inherits from**: str, Enum + + + +### Embeddings + +Text embedding endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### generate(self) → operations.CreateEmbeddingsResponse + +Submit an embedding request + +Submits an embedding request to the embeddings router + +:param input: +:param model: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param encoding_format: +:param dimensions: +:param user: +:param provider: Provider routing preferences for the request. +:param input_type: +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateEmbeddingsResponse` + + +##### generate_async(self) → operations.CreateEmbeddingsResponse + +Submit an embedding request + +Submits an embedding request to the embeddings router + +:param input: +:param model: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param encoding_format: +:param dimensions: +:param user: +:param provider: Provider routing preferences for the request. +:param input_type: +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateEmbeddingsResponse` + + +##### list_models(self) → components.ModelsListResponse + +List all embeddings models + +Returns a list of all available embeddings models and their properties + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + +##### list_models_async(self) → components.ModelsListResponse + +List all embeddings models + +Returns a list of all available embeddings models and their properties + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/endpoints.md b/.github/skills/openrouter-python-sdk/references/api_reference/endpoints.md new file mode 100644 index 000000000..ddccf3a61 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/endpoints.md @@ -0,0 +1,115 @@ +# API Reference: endpoints.py + +**Language**: Python + +**Source**: `src/openrouter/endpoints.py` + +--- + +## Classes + +### Endpoints + +Endpoint information + +**Inherits from**: BaseSDK + +#### Methods + +##### list(self) → operations.ListEndpointsResponse + +List all endpoints for a model + +:param author: +:param slug: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListEndpointsResponse` + + +##### list_async(self) → operations.ListEndpointsResponse + +List all endpoints for a model + +:param author: +:param slug: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListEndpointsResponse` + + +##### list_zdr_endpoints(self) → operations.ListEndpointsZdrResponse + +Preview the impact of ZDR on the available endpoints + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListEndpointsZdrResponse` + + +##### list_zdr_endpoints_async(self) → operations.ListEndpointsZdrResponse + +Preview the impact of ZDR on the available endpoints + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListEndpointsZdrResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/enums.md b/.github/skills/openrouter-python-sdk/references/api_reference/enums.md new file mode 100644 index 000000000..c97f070fa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/enums.md @@ -0,0 +1,45 @@ +# API Reference: enums.py + +**Language**: Python + +**Source**: `src/openrouter/utils/enums.py` + +--- + +## Classes + +### OpenEnumMeta + +**Inherits from**: enum.EnumMeta + + + +## Functions + +### __call__(cls, value, names = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| cls | None | - | - | +| value | None | - | - | +| names | None | None | - | + +**Returns**: (none) + + + +### __call__(cls, value, names = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| cls | None | - | - | +| value | None | - | - | +| names | None | None | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/eventstreaming.md b/.github/skills/openrouter-python-sdk/references/api_reference/eventstreaming.md new file mode 100644 index 000000000..5e87c9387 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/eventstreaming.md @@ -0,0 +1,195 @@ +# API Reference: eventstreaming.py + +**Language**: Python + +**Source**: `src/openrouter/utils/eventstreaming.py` + +--- + +## Classes + +### EventStream + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| response | httpx.Response | - | - | +| decoder | Callable[[str], T] | - | - | +| sentinel | Optional[str] | None | - | +| client_ref | Optional[object] | None | - | + + +##### __iter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __next__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __enter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __exit__(self, exc_type, exc_val, exc_tb) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| exc_type | None | - | - | +| exc_val | None | - | - | +| exc_tb | None | - | - | + + + + +### EventStreamAsync + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| response | httpx.Response | - | - | +| decoder | Callable[[str], T] | - | - | +| sentinel | Optional[str] | None | - | +| client_ref | Optional[object] | None | - | + + +##### __aiter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __anext__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __aenter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __aexit__(self, exc_type, exc_val, exc_tb) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| exc_type | None | - | - | +| exc_val | None | - | - | +| exc_tb | None | - | - | + + + + +### ServerEvent + +**Inherits from**: (none) + + + +## Functions + +### stream_events_async(response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None) → AsyncGenerator[T, None] + +**Async function** + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| response | httpx.Response | - | - | +| decoder | Callable[[str], T] | - | - | +| sentinel | Optional[str] | None | - | + +**Returns**: `AsyncGenerator[T, None]` + + + +### stream_events(response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None) → Generator[T, None, None] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| response | httpx.Response | - | - | +| decoder | Callable[[str], T] | - | - | +| sentinel | Optional[str] | None | - | + +**Returns**: `Generator[T, None, None]` + + + +### _parse_event(raw: bytearray, decoder: Callable[[str], T], sentinel: Optional[str] = None) → Tuple[Optional[T], bool] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| raw | bytearray | - | - | +| decoder | Callable[[str], T] | - | - | +| sentinel | Optional[str] | None | - | + +**Returns**: `Tuple[Optional[T], bool]` + + + +### _peek_sequence(position: int, buffer: bytearray, sequence: bytes) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| position | int | - | - | +| buffer | bytearray | - | - | +| sequence | bytes | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/exchangeauthcodeforapikey.md b/.github/skills/openrouter-python-sdk/references/api_reference/exchangeauthcodeforapikey.md new file mode 100644 index 000000000..7ad1311e4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/exchangeauthcodeforapikey.md @@ -0,0 +1,89 @@ +# API Reference: exchangeauthcodeforapikey.py + +**Language**: Python + +**Source**: `src/openrouter/operations/exchangeauthcodeforapikey.py` + +--- + +## Classes + +### ExchangeAuthCodeForAPIKeyGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ExchangeAuthCodeForAPIKeyGlobals + +**Inherits from**: BaseModel + + + +### ExchangeAuthCodeForAPIKeyRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### ExchangeAuthCodeForAPIKeyRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ExchangeAuthCodeForAPIKeyRequestTypedDict + +**Inherits from**: TypedDict + + + +### ExchangeAuthCodeForAPIKeyRequest + +**Inherits from**: BaseModel + + + +### ExchangeAuthCodeForAPIKeyResponseTypedDict + +Successfully exchanged code for an API key + +**Inherits from**: TypedDict + + + +### ExchangeAuthCodeForAPIKeyResponse + +Successfully exchanged code for an API key + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/filecitation.md b/.github/skills/openrouter-python-sdk/references/api_reference/filecitation.md new file mode 100644 index 000000000..11c5c00e7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/filecitation.md @@ -0,0 +1,21 @@ +# API Reference: filecitation.py + +**Language**: Python + +**Source**: `src/openrouter/components/filecitation.py` + +--- + +## Classes + +### FileCitationTypedDict + +**Inherits from**: TypedDict + + + +### FileCitation + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/filepath.md b/.github/skills/openrouter-python-sdk/references/api_reference/filepath.md new file mode 100644 index 000000000..028a47435 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/filepath.md @@ -0,0 +1,21 @@ +# API Reference: filepath.py + +**Language**: Python + +**Source**: `src/openrouter/components/filepath.py` + +--- + +## Classes + +### FilePathTypedDict + +**Inherits from**: TypedDict + + + +### FilePath + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponse_error.md new file mode 100644 index 000000000..9061d2c92 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: forbiddenresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/forbiddenresponse_error.py` + +--- + +## Classes + +### ForbiddenResponseErrorData + +**Inherits from**: BaseModel + + + +### ForbiddenResponseError + +Forbidden - Authentication successful but insufficient permissions + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: ForbiddenResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | ForbiddenResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponseerrordata.md new file mode 100644 index 000000000..0237ac257 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/forbiddenresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: forbiddenresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/forbiddenresponseerrordata.py` + +--- + +## Classes + +### ForbiddenResponseErrorDataTypedDict + +Error data for ForbiddenResponse + +**Inherits from**: TypedDict + + + +### ForbiddenResponseErrorData + +Error data for ForbiddenResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/forms.md b/.github/skills/openrouter-python-sdk/references/api_reference/forms.md new file mode 100644 index 000000000..595af84ef --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/forms.md @@ -0,0 +1,64 @@ +# API Reference: forms.py + +**Language**: Python + +**Source**: `src/openrouter/utils/forms.py` + +--- + +## Functions + +### _populate_form(field_name: str, explode: bool, obj: Any, delimiter: str, form: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field_name | str | - | - | +| explode | bool | - | - | +| obj | Any | - | - | +| delimiter | str | - | - | +| form | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + + +### _extract_file_properties(file_obj: Any) → Tuple[str, Any, Any] + +Extract file name, content, and content type from a file object. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| file_obj | Any | - | - | + +**Returns**: `Tuple[str, Any, Any]` + + + +### serialize_multipart_form(media_type: str, request: Any) → Tuple[str, Dict[str, Any], List[Tuple[str, Any]]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| media_type | str | - | - | +| request | Any | - | - | + +**Returns**: `Tuple[str, Dict[str, Any], List[Tuple[str, Any]]]` + + + +### serialize_form_data(data: Any) → Dict[str, Any] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| data | Any | - | - | + +**Returns**: `Dict[str, Any]` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/generations.md b/.github/skills/openrouter-python-sdk/references/api_reference/generations.md new file mode 100644 index 000000000..3a0a841b5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/generations.md @@ -0,0 +1,67 @@ +# API Reference: generations.py + +**Language**: Python + +**Source**: `src/openrouter/generations.py` + +--- + +## Classes + +### Generations + +Generation history endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### get_generation(self) → operations.GetGenerationResponse + +Get request & usage metadata for a generation + +:param id: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetGenerationResponse` + + +##### get_generation_async(self) → operations.GetGenerationResponse + +Get request & usage metadata for a generation + +:param id: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetGenerationResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getcredits.md b/.github/skills/openrouter-python-sdk/references/api_reference/getcredits.md new file mode 100644 index 000000000..91e30b20c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getcredits.md @@ -0,0 +1,61 @@ +# API Reference: getcredits.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getcredits.py` + +--- + +## Classes + +### GetCreditsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetCreditsGlobals + +**Inherits from**: BaseModel + + + +### GetCreditsRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetCreditsRequest + +**Inherits from**: BaseModel + + + +### GetCreditsDataTypedDict + +**Inherits from**: TypedDict + + + +### GetCreditsData + +**Inherits from**: BaseModel + + + +### GetCreditsResponseTypedDict + +Total credits purchased and used + +**Inherits from**: TypedDict + + + +### GetCreditsResponse + +Total credits purchased and used + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getcurrentkey.md b/.github/skills/openrouter-python-sdk/references/api_reference/getcurrentkey.md new file mode 100644 index 000000000..62a84f68e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getcurrentkey.md @@ -0,0 +1,95 @@ +# API Reference: getcurrentkey.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getcurrentkey.py` + +--- + +## Classes + +### GetCurrentKeyGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetCurrentKeyGlobals + +**Inherits from**: BaseModel + + + +### GetCurrentKeyRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetCurrentKeyRequest + +**Inherits from**: BaseModel + + + +### RateLimitTypedDict + +Legacy rate limit information about a key. Will always return -1. + +**Inherits from**: TypedDict + + + +### RateLimit + +Legacy rate limit information about a key. Will always return -1. + +**Inherits from**: BaseModel + + + +### GetCurrentKeyDataTypedDict + +Current API key information + +**Inherits from**: TypedDict + + + +### GetCurrentKeyData + +Current API key information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### GetCurrentKeyResponseTypedDict + +API key details + +**Inherits from**: TypedDict + + + +### GetCurrentKeyResponse + +API key details + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getgeneration.md b/.github/skills/openrouter-python-sdk/references/api_reference/getgeneration.md new file mode 100644 index 000000000..e4d7af2a6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getgeneration.md @@ -0,0 +1,105 @@ +# API Reference: getgeneration.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getgeneration.py` + +--- + +## Classes + +### GetGenerationGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetGenerationGlobals + +**Inherits from**: BaseModel + + + +### GetGenerationRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetGenerationRequest + +**Inherits from**: BaseModel + + + +### ProviderResponseTypedDict + +**Inherits from**: TypedDict + + + +### ProviderResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### GetGenerationDataTypedDict + +Generation data + +**Inherits from**: TypedDict + + + +### GetGenerationData + +Generation data + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### GetGenerationResponseTypedDict + +Generation response + +**Inherits from**: TypedDict + + + +### GetGenerationResponse + +Generation response + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/getguardrail.md new file mode 100644 index 000000000..c26ceb76f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getguardrail.md @@ -0,0 +1,79 @@ +# API Reference: getguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getguardrail.py` + +--- + +## Classes + +### GetGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetGuardrailGlobals + +**Inherits from**: BaseModel + + + +### GetGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetGuardrailRequest + +**Inherits from**: BaseModel + + + +### GetGuardrailDataTypedDict + +The guardrail + +**Inherits from**: TypedDict + + + +### GetGuardrailData + +The guardrail + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### GetGuardrailResponseTypedDict + +Guardrail details + +**Inherits from**: TypedDict + + + +### GetGuardrailResponse + +Guardrail details + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getkey.md b/.github/skills/openrouter-python-sdk/references/api_reference/getkey.md new file mode 100644 index 000000000..1703b59aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getkey.md @@ -0,0 +1,79 @@ +# API Reference: getkey.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getkey.py` + +--- + +## Classes + +### GetKeyGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetKeyGlobals + +**Inherits from**: BaseModel + + + +### GetKeyRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetKeyRequest + +**Inherits from**: BaseModel + + + +### GetKeyDataTypedDict + +The API key information + +**Inherits from**: TypedDict + + + +### GetKeyData + +The API key information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### GetKeyResponseTypedDict + +API key details + +**Inherits from**: TypedDict + + + +### GetKeyResponse + +API key details + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getmodels.md b/.github/skills/openrouter-python-sdk/references/api_reference/getmodels.md new file mode 100644 index 000000000..770c4b924 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getmodels.md @@ -0,0 +1,33 @@ +# API Reference: getmodels.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getmodels.py` + +--- + +## Classes + +### GetModelsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetModelsGlobals + +**Inherits from**: BaseModel + + + +### GetModelsRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetModelsRequest + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/getuseractivity.md b/.github/skills/openrouter-python-sdk/references/api_reference/getuseractivity.md new file mode 100644 index 000000000..f9d36c1c6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/getuseractivity.md @@ -0,0 +1,49 @@ +# API Reference: getuseractivity.py + +**Language**: Python + +**Source**: `src/openrouter/operations/getuseractivity.py` + +--- + +## Classes + +### GetUserActivityGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### GetUserActivityGlobals + +**Inherits from**: BaseModel + + + +### GetUserActivityRequestTypedDict + +**Inherits from**: TypedDict + + + +### GetUserActivityRequest + +**Inherits from**: BaseModel + + + +### GetUserActivityResponseTypedDict + +Returns user activity data grouped by endpoint + +**Inherits from**: TypedDict + + + +### GetUserActivityResponse + +Returns user activity data grouped by endpoint + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/globals.md b/.github/skills/openrouter-python-sdk/references/api_reference/globals.md new file mode 100644 index 000000000..de23b42c5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/globals.md @@ -0,0 +1,21 @@ +# API Reference: globals.py + +**Language**: Python + +**Source**: `src/openrouter/models/internal/globals.py` + +--- + +## Classes + +### GlobalsTypedDict + +**Inherits from**: TypedDict + + + +### Globals + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/guardrails.md b/.github/skills/openrouter-python-sdk/references/api_reference/guardrails.md new file mode 100644 index 000000000..af34b050c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/guardrails.md @@ -0,0 +1,743 @@ +# API Reference: guardrails.py + +**Language**: Python + +**Source**: `src/openrouter/guardrails.py` + +--- + +## Classes + +### Guardrails + +Guardrails endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### list(self) → operations.ListGuardrailsResponse + +List guardrails + +List all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailsResponse` + + +##### list_async(self) → operations.ListGuardrailsResponse + +List guardrails + +List all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailsResponse` + + +##### create(self) → operations.CreateGuardrailResponse + +Create a guardrail + +Create a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param name: Name for the new guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param description: Description of the guardrail +:param limit_usd: Spending limit in USD +:param reset_interval: Interval at which the limit resets (daily, weekly, monthly) +:param allowed_providers: List of allowed provider IDs +:param allowed_models: Array of model identifiers (slug or canonical_slug accepted) +:param enforce_zdr: Whether to enforce zero data retention +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateGuardrailResponse` + + +##### create_async(self) → operations.CreateGuardrailResponse + +Create a guardrail + +Create a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param name: Name for the new guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param description: Description of the guardrail +:param limit_usd: Spending limit in USD +:param reset_interval: Interval at which the limit resets (daily, weekly, monthly) +:param allowed_providers: List of allowed provider IDs +:param allowed_models: Array of model identifiers (slug or canonical_slug accepted) +:param enforce_zdr: Whether to enforce zero data retention +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateGuardrailResponse` + + +##### get(self) → operations.GetGuardrailResponse + +Get a guardrail + +Get a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to retrieve +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetGuardrailResponse` + + +##### get_async(self) → operations.GetGuardrailResponse + +Get a guardrail + +Get a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to retrieve +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.GetGuardrailResponse` + + +##### update(self) → operations.UpdateGuardrailResponse + +Update a guardrail + +Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to update +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param name: New name for the guardrail +:param description: New description for the guardrail +:param limit_usd: New spending limit in USD +:param reset_interval: Interval at which the limit resets (daily, weekly, monthly) +:param allowed_providers: New list of allowed provider IDs +:param allowed_models: Array of model identifiers (slug or canonical_slug accepted) +:param enforce_zdr: Whether to enforce zero data retention +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.UpdateGuardrailResponse` + + +##### update_async(self) → operations.UpdateGuardrailResponse + +Update a guardrail + +Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to update +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param name: New name for the guardrail +:param description: New description for the guardrail +:param limit_usd: New spending limit in USD +:param reset_interval: Interval at which the limit resets (daily, weekly, monthly) +:param allowed_providers: New list of allowed provider IDs +:param allowed_models: Array of model identifiers (slug or canonical_slug accepted) +:param enforce_zdr: Whether to enforce zero data retention +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.UpdateGuardrailResponse` + + +##### delete(self) → operations.DeleteGuardrailResponse + +Delete a guardrail + +Delete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to delete +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.DeleteGuardrailResponse` + + +##### delete_async(self) → operations.DeleteGuardrailResponse + +Delete a guardrail + +Delete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail to delete +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.DeleteGuardrailResponse` + + +##### list_key_assignments(self) → operations.ListKeyAssignmentsResponse + +List all key assignments + +List all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListKeyAssignmentsResponse` + + +##### list_key_assignments_async(self) → operations.ListKeyAssignmentsResponse + +List all key assignments + +List all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListKeyAssignmentsResponse` + + +##### list_member_assignments(self) → operations.ListMemberAssignmentsResponse + +List all member assignments + +List all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListMemberAssignmentsResponse` + + +##### list_member_assignments_async(self) → operations.ListMemberAssignmentsResponse + +List all member assignments + +List all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListMemberAssignmentsResponse` + + +##### list_guardrail_key_assignments(self) → operations.ListGuardrailKeyAssignmentsResponse + +List key assignments for a guardrail + +List all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailKeyAssignmentsResponse` + + +##### list_guardrail_key_assignments_async(self) → operations.ListGuardrailKeyAssignmentsResponse + +List key assignments for a guardrail + +List all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailKeyAssignmentsResponse` + + +##### bulk_assign_keys(self) → operations.BulkAssignKeysToGuardrailResponse + +Bulk assign keys to a guardrail + +Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param key_hashes: Array of API key hashes to assign to the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkAssignKeysToGuardrailResponse` + + +##### bulk_assign_keys_async(self) → operations.BulkAssignKeysToGuardrailResponse + +Bulk assign keys to a guardrail + +Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param key_hashes: Array of API key hashes to assign to the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkAssignKeysToGuardrailResponse` + + +##### list_guardrail_member_assignments(self) → operations.ListGuardrailMemberAssignmentsResponse + +List member assignments for a guardrail + +List all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailMemberAssignmentsResponse` + + +##### list_guardrail_member_assignments_async(self) → operations.ListGuardrailMemberAssignmentsResponse + +List member assignments for a guardrail + +List all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param offset: Number of records to skip for pagination +:param limit: Maximum number of records to return (max 100) +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListGuardrailMemberAssignmentsResponse` + + +##### bulk_assign_members(self) → operations.BulkAssignMembersToGuardrailResponse + +Bulk assign members to a guardrail + +Assign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param member_user_ids: Array of member user IDs to assign to the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkAssignMembersToGuardrailResponse` + + +##### bulk_assign_members_async(self) → operations.BulkAssignMembersToGuardrailResponse + +Bulk assign members to a guardrail + +Assign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param member_user_ids: Array of member user IDs to assign to the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkAssignMembersToGuardrailResponse` + + +##### bulk_unassign_keys(self) → operations.BulkUnassignKeysFromGuardrailResponse + +Bulk unassign keys from a guardrail + +Unassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param key_hashes: Array of API key hashes to unassign from the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkUnassignKeysFromGuardrailResponse` + + +##### bulk_unassign_keys_async(self) → operations.BulkUnassignKeysFromGuardrailResponse + +Bulk unassign keys from a guardrail + +Unassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param key_hashes: Array of API key hashes to unassign from the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkUnassignKeysFromGuardrailResponse` + + +##### bulk_unassign_members(self) → operations.BulkUnassignMembersFromGuardrailResponse + +Bulk unassign members from a guardrail + +Unassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param member_user_ids: Array of member user IDs to unassign from the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkUnassignMembersFromGuardrailResponse` + + +##### bulk_unassign_members_async(self) → operations.BulkUnassignMembersFromGuardrailResponse + +Bulk unassign members from a guardrail + +Unassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +:param id: The unique identifier of the guardrail +:param member_user_ids: Array of member user IDs to unassign from the guardrail +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.BulkUnassignMembersFromGuardrailResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/headers.md b/.github/skills/openrouter-python-sdk/references/api_reference/headers.md new file mode 100644 index 000000000..89faf2c67 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/headers.md @@ -0,0 +1,62 @@ +# API Reference: headers.py + +**Language**: Python + +**Source**: `src/openrouter/utils/headers.py` + +--- + +## Functions + +### get_headers(headers_params: Any, gbls: Optional[Any] = None) → Dict[str, str] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers_params | Any | - | - | +| gbls | Optional[Any] | None | - | + +**Returns**: `Dict[str, str]` + + + +### _populate_headers(headers_params: Any, gbls: Any, header_values: Dict[str, str], skip_fields: List[str]) → List[str] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers_params | Any | - | - | +| gbls | Any | - | - | +| header_values | Dict[str, str] | - | - | +| skip_fields | List[str] | - | - | + +**Returns**: `List[str]` + + + +### _serialize_header(explode: bool, obj: Any) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| explode | bool | - | - | +| obj | Any | - | - | + +**Returns**: `str` + + + +### get_response_headers(headers: Headers) → Dict[str, List[str]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers | Headers | - | - | + +**Returns**: `Dict[str, List[str]]` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/httpclient.md b/.github/skills/openrouter-python-sdk/references/api_reference/httpclient.md new file mode 100644 index 000000000..a01a7f4ac --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/httpclient.md @@ -0,0 +1,125 @@ +# API Reference: httpclient.py + +**Language**: Python + +**Source**: `src/openrouter/httpclient.py` + +--- + +## Classes + +### HttpClient + +**Inherits from**: Protocol + +#### Methods + +##### send(self, request: httpx.Request) → httpx.Response + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| request | httpx.Request | - | - | + +**Returns**: `httpx.Response` + + +##### build_request(self, method: str, url: httpx._types.URLTypes) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| method | str | - | - | +| url | httpx._types.URLTypes | - | - | + +**Returns**: `httpx.Request` + + +##### close(self) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `None` + + + + +### AsyncHttpClient + +**Inherits from**: Protocol + +#### Methods + +##### send(self, request: httpx.Request) → httpx.Response + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| request | httpx.Request | - | - | + +**Returns**: `httpx.Response` + + +##### build_request(self, method: str, url: httpx._types.URLTypes) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| method | str | - | - | +| url | httpx._types.URLTypes | - | - | + +**Returns**: `httpx.Request` + + +##### aclose(self) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `None` + + + + +### ClientOwner + +**Inherits from**: Protocol + + + +## Functions + +### close_clients(owner: ClientOwner, sync_client: Union[HttpClient, None], sync_client_supplied: bool, async_client: Union[AsyncHttpClient, None], async_client_supplied: bool) → None + +A finalizer function that is meant to be used with weakref.finalize to close +httpx clients used by an SDK so that underlying resources can be garbage +collected. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| owner | ClientOwner | - | - | +| sync_client | Union[HttpClient, None] | - | - | +| sync_client_supplied | bool | - | - | +| async_client | Union[AsyncHttpClient, None] | - | - | +| async_client_supplied | bool | - | - | + +**Returns**: `None` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponse_error.md new file mode 100644 index 000000000..f1c64c9de --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: internalserverresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/internalserverresponse_error.py` + +--- + +## Classes + +### InternalServerResponseErrorData + +**Inherits from**: BaseModel + + + +### InternalServerResponseError + +Internal Server Error - Unexpected server error + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: InternalServerResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | InternalServerResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponseerrordata.md new file mode 100644 index 000000000..67f72ed0a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/internalserverresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: internalserverresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/internalserverresponseerrordata.py` + +--- + +## Classes + +### InternalServerResponseErrorDataTypedDict + +Error data for InternalServerResponse + +**Inherits from**: TypedDict + + + +### InternalServerResponseErrorData + +Error data for InternalServerResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/jsonschemaconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/jsonschemaconfig.md new file mode 100644 index 000000000..8caf50a73 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/jsonschemaconfig.md @@ -0,0 +1,39 @@ +# API Reference: jsonschemaconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/jsonschemaconfig.py` + +--- + +## Classes + +### JSONSchemaConfigTypedDict + +JSON Schema configuration object + +**Inherits from**: TypedDict + + + +### JSONSchemaConfig + +JSON Schema configuration object + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/list.md b/.github/skills/openrouter-python-sdk/references/api_reference/list.md new file mode 100644 index 000000000..00ca3672e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/list.md @@ -0,0 +1,75 @@ +# API Reference: list.py + +**Language**: Python + +**Source**: `src/openrouter/operations/list.py` + +--- + +## Classes + +### ListGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListGlobals + +**Inherits from**: BaseModel + + + +### ListRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListRequest + +**Inherits from**: BaseModel + + + +### ListDataTypedDict + +**Inherits from**: TypedDict + + + +### ListData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListResponseTypedDict + +List of API keys + +**Inherits from**: TypedDict + + + +### ListResponse + +List of API keys + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listembeddingsmodels.md b/.github/skills/openrouter-python-sdk/references/api_reference/listembeddingsmodels.md new file mode 100644 index 000000000..10fbe139e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listembeddingsmodels.md @@ -0,0 +1,33 @@ +# API Reference: listembeddingsmodels.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listembeddingsmodels.py` + +--- + +## Classes + +### ListEmbeddingsModelsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListEmbeddingsModelsGlobals + +**Inherits from**: BaseModel + + + +### ListEmbeddingsModelsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListEmbeddingsModelsRequest + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listendpoints.md b/.github/skills/openrouter-python-sdk/references/api_reference/listendpoints.md new file mode 100644 index 000000000..e75df96fc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listendpoints.md @@ -0,0 +1,49 @@ +# API Reference: listendpoints.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listendpoints.py` + +--- + +## Classes + +### ListEndpointsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListEndpointsGlobals + +**Inherits from**: BaseModel + + + +### ListEndpointsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListEndpointsRequest + +**Inherits from**: BaseModel + + + +### ListEndpointsResponseTypedDict + +Returns a list of endpoints + +**Inherits from**: TypedDict + + + +### ListEndpointsResponse + +Returns a list of endpoints + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listendpointsresponse.md b/.github/skills/openrouter-python-sdk/references/api_reference/listendpointsresponse.md new file mode 100644 index 000000000..64e53a352 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listendpointsresponse.md @@ -0,0 +1,55 @@ +# API Reference: listendpointsresponse.py + +**Language**: Python + +**Source**: `src/openrouter/components/listendpointsresponse.py` + +--- + +## Classes + +### ArchitectureTypedDict + +Model architecture information + +**Inherits from**: TypedDict + + + +### Architecture + +Model architecture information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListEndpointsResponseTypedDict + +List of available endpoints for a model + +**Inherits from**: TypedDict + + + +### ListEndpointsResponse + +List of available endpoints for a model + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listendpointszdr.md b/.github/skills/openrouter-python-sdk/references/api_reference/listendpointszdr.md new file mode 100644 index 000000000..55c755c52 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listendpointszdr.md @@ -0,0 +1,49 @@ +# API Reference: listendpointszdr.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listendpointszdr.py` + +--- + +## Classes + +### ListEndpointsZdrGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListEndpointsZdrGlobals + +**Inherits from**: BaseModel + + + +### ListEndpointsZdrRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListEndpointsZdrRequest + +**Inherits from**: BaseModel + + + +### ListEndpointsZdrResponseTypedDict + +Returns a list of endpoints + +**Inherits from**: TypedDict + + + +### ListEndpointsZdrResponse + +Returns a list of endpoints + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailkeyassignments.md b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailkeyassignments.md new file mode 100644 index 000000000..dab684e0b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailkeyassignments.md @@ -0,0 +1,75 @@ +# API Reference: listguardrailkeyassignments.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listguardrailkeyassignments.py` + +--- + +## Classes + +### ListGuardrailKeyAssignmentsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailKeyAssignmentsGlobals + +**Inherits from**: BaseModel + + + +### ListGuardrailKeyAssignmentsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailKeyAssignmentsRequest + +**Inherits from**: BaseModel + + + +### ListGuardrailKeyAssignmentsDataTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailKeyAssignmentsData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListGuardrailKeyAssignmentsResponseTypedDict + +List of key assignments + +**Inherits from**: TypedDict + + + +### ListGuardrailKeyAssignmentsResponse + +List of key assignments + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailmemberassignments.md b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailmemberassignments.md new file mode 100644 index 000000000..2bcd2e49b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrailmemberassignments.md @@ -0,0 +1,75 @@ +# API Reference: listguardrailmemberassignments.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listguardrailmemberassignments.py` + +--- + +## Classes + +### ListGuardrailMemberAssignmentsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailMemberAssignmentsGlobals + +**Inherits from**: BaseModel + + + +### ListGuardrailMemberAssignmentsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailMemberAssignmentsRequest + +**Inherits from**: BaseModel + + + +### ListGuardrailMemberAssignmentsDataTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailMemberAssignmentsData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListGuardrailMemberAssignmentsResponseTypedDict + +List of member assignments + +**Inherits from**: TypedDict + + + +### ListGuardrailMemberAssignmentsResponse + +List of member assignments + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listguardrails.md b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrails.md new file mode 100644 index 000000000..bc1c21f94 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listguardrails.md @@ -0,0 +1,75 @@ +# API Reference: listguardrails.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listguardrails.py` + +--- + +## Classes + +### ListGuardrailsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailsGlobals + +**Inherits from**: BaseModel + + + +### ListGuardrailsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailsRequest + +**Inherits from**: BaseModel + + + +### ListGuardrailsDataTypedDict + +**Inherits from**: TypedDict + + + +### ListGuardrailsData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListGuardrailsResponseTypedDict + +List of guardrails + +**Inherits from**: TypedDict + + + +### ListGuardrailsResponse + +List of guardrails + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listkeyassignments.md b/.github/skills/openrouter-python-sdk/references/api_reference/listkeyassignments.md new file mode 100644 index 000000000..67fdbc51a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listkeyassignments.md @@ -0,0 +1,75 @@ +# API Reference: listkeyassignments.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listkeyassignments.py` + +--- + +## Classes + +### ListKeyAssignmentsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListKeyAssignmentsGlobals + +**Inherits from**: BaseModel + + + +### ListKeyAssignmentsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListKeyAssignmentsRequest + +**Inherits from**: BaseModel + + + +### ListKeyAssignmentsDataTypedDict + +**Inherits from**: TypedDict + + + +### ListKeyAssignmentsData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListKeyAssignmentsResponseTypedDict + +List of key assignments + +**Inherits from**: TypedDict + + + +### ListKeyAssignmentsResponse + +List of key assignments + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listmemberassignments.md b/.github/skills/openrouter-python-sdk/references/api_reference/listmemberassignments.md new file mode 100644 index 000000000..fb91055e9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listmemberassignments.md @@ -0,0 +1,75 @@ +# API Reference: listmemberassignments.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listmemberassignments.py` + +--- + +## Classes + +### ListMemberAssignmentsGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListMemberAssignmentsGlobals + +**Inherits from**: BaseModel + + + +### ListMemberAssignmentsRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListMemberAssignmentsRequest + +**Inherits from**: BaseModel + + + +### ListMemberAssignmentsDataTypedDict + +**Inherits from**: TypedDict + + + +### ListMemberAssignmentsData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListMemberAssignmentsResponseTypedDict + +List of member assignments + +**Inherits from**: TypedDict + + + +### ListMemberAssignmentsResponse + +List of member assignments + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listmodelscount.md b/.github/skills/openrouter-python-sdk/references/api_reference/listmodelscount.md new file mode 100644 index 000000000..4c50d4dbe --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listmodelscount.md @@ -0,0 +1,33 @@ +# API Reference: listmodelscount.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listmodelscount.py` + +--- + +## Classes + +### ListModelsCountGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListModelsCountGlobals + +**Inherits from**: BaseModel + + + +### ListModelsCountRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListModelsCountRequest + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listmodelsuser.md b/.github/skills/openrouter-python-sdk/references/api_reference/listmodelsuser.md new file mode 100644 index 000000000..d7a0d9ced --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listmodelsuser.md @@ -0,0 +1,45 @@ +# API Reference: listmodelsuser.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listmodelsuser.py` + +--- + +## Classes + +### ListModelsUserGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListModelsUserGlobals + +**Inherits from**: BaseModel + + + +### ListModelsUserSecurityTypedDict + +**Inherits from**: TypedDict + + + +### ListModelsUserSecurity + +**Inherits from**: BaseModel + + + +### ListModelsUserRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListModelsUserRequest + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/listproviders.md b/.github/skills/openrouter-python-sdk/references/api_reference/listproviders.md new file mode 100644 index 000000000..fe9b5038b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/listproviders.md @@ -0,0 +1,75 @@ +# API Reference: listproviders.py + +**Language**: Python + +**Source**: `src/openrouter/operations/listproviders.py` + +--- + +## Classes + +### ListProvidersGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### ListProvidersGlobals + +**Inherits from**: BaseModel + + + +### ListProvidersRequestTypedDict + +**Inherits from**: TypedDict + + + +### ListProvidersRequest + +**Inherits from**: BaseModel + + + +### ListProvidersDataTypedDict + +**Inherits from**: TypedDict + + + +### ListProvidersData + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ListProvidersResponseTypedDict + +Returns a list of providers + +**Inherits from**: TypedDict + + + +### ListProvidersResponse + +Returns a list of providers + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/logger.md b/.github/skills/openrouter-python-sdk/references/api_reference/logger.md new file mode 100644 index 000000000..bf1739c9c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/logger.md @@ -0,0 +1,69 @@ +# API Reference: logger.py + +**Language**: Python + +**Source**: `src/openrouter/utils/logger.py` + +--- + +## Classes + +### Logger + +**Inherits from**: Protocol + +#### Methods + +##### debug(self, msg: str) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| msg | str | - | - | + +**Returns**: `None` + + + + +### NoOpLogger + +**Inherits from**: (none) + +#### Methods + +##### debug(self, msg: str) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| msg | str | - | - | + +**Returns**: `None` + + + + +## Functions + +### get_body_content(req: httpx.Request) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| req | httpx.Request | - | - | + +**Returns**: `str` + + + +### get_default_logger() → Logger + +**Returns**: `Logger` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/metadata.md b/.github/skills/openrouter-python-sdk/references/api_reference/metadata.md new file mode 100644 index 000000000..236828e72 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/metadata.md @@ -0,0 +1,123 @@ +# API Reference: metadata.py + +**Language**: Python + +**Source**: `src/openrouter/utils/metadata.py` + +--- + +## Classes + +### SecurityMetadata + +**Inherits from**: (none) + +#### Methods + +##### get_field_name(self, default: str) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| default | str | - | - | + +**Returns**: `str` + + + + +### ParamMetadata + +**Inherits from**: (none) + + + +### PathParamMetadata + +**Inherits from**: ParamMetadata + + + +### QueryParamMetadata + +**Inherits from**: ParamMetadata + + + +### HeaderMetadata + +**Inherits from**: ParamMetadata + + + +### RequestMetadata + +**Inherits from**: (none) + + + +### MultipartFormMetadata + +**Inherits from**: (none) + + + +### FormMetadata + +**Inherits from**: (none) + + + +### FieldMetadata + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, security: Optional[SecurityMetadata] = None, path: Optional[Union[PathParamMetadata, bool]] = None, query: Optional[Union[QueryParamMetadata, bool]] = None, header: Optional[Union[HeaderMetadata, bool]] = None, request: Optional[Union[RequestMetadata, bool]] = None, form: Optional[Union[FormMetadata, bool]] = None, multipart: Optional[Union[MultipartFormMetadata, bool]] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| security | Optional[SecurityMetadata] | None | - | +| path | Optional[Union[PathParamMetadata, bool]] | None | - | +| query | Optional[Union[QueryParamMetadata, bool]] | None | - | +| header | Optional[Union[HeaderMetadata, bool]] | None | - | +| request | Optional[Union[RequestMetadata, bool]] | None | - | +| form | Optional[Union[FormMetadata, bool]] | None | - | +| multipart | Optional[Union[MultipartFormMetadata, bool]] | None | - | + + + + +## Functions + +### find_field_metadata(field_info: FieldInfo, metadata_type: Type[T]) → Optional[T] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field_info | FieldInfo | - | - | +| metadata_type | Type[T] | - | - | + +**Returns**: `Optional[T]` + + + +### find_metadata(field_info: FieldInfo, metadata_type: Type[T]) → Optional[T] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field_info | FieldInfo | - | - | +| metadata_type | Type[T] | - | - | + +**Returns**: `Optional[T]` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/model.md b/.github/skills/openrouter-python-sdk/references/api_reference/model.md new file mode 100644 index 000000000..b1320dfc3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/model.md @@ -0,0 +1,39 @@ +# API Reference: model.py + +**Language**: Python + +**Source**: `src/openrouter/components/model.py` + +--- + +## Classes + +### ModelTypedDict + +Information about an AI model available on OpenRouter + +**Inherits from**: TypedDict + + + +### Model + +Information about an AI model available on OpenRouter + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/modelarchitecture.md b/.github/skills/openrouter-python-sdk/references/api_reference/modelarchitecture.md new file mode 100644 index 000000000..931d136b2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/modelarchitecture.md @@ -0,0 +1,39 @@ +# API Reference: modelarchitecture.py + +**Language**: Python + +**Source**: `src/openrouter/components/modelarchitecture.py` + +--- + +## Classes + +### ModelArchitectureTypedDict + +Model architecture information + +**Inherits from**: TypedDict + + + +### ModelArchitecture + +Model architecture information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/models_.md b/.github/skills/openrouter-python-sdk/references/api_reference/models_.md new file mode 100644 index 000000000..6dcde1955 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/models_.md @@ -0,0 +1,167 @@ +# API Reference: models_.py + +**Language**: Python + +**Source**: `src/openrouter/models_.py` + +--- + +## Classes + +### Models + +Model information endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### count(self) → components.ModelsCountResponse + +Get total count of available models + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsCountResponse` + + +##### count_async(self) → components.ModelsCountResponse + +Get total count of available models + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsCountResponse` + + +##### list(self) → components.ModelsListResponse + +List all models and their properties + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param category: Filter models by use case category +:param supported_parameters: +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + +##### list_async(self) → components.ModelsListResponse + +List all models and their properties + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param category: Filter models by use case category +:param supported_parameters: +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + +##### list_for_user(self) → components.ModelsListResponse + +List models filtered by user provider preferences, privacy settings, and guardrails + +List models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing). + +:param security: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + +##### list_for_user_async(self) → components.ModelsListResponse + +List models filtered by user provider preferences, privacy settings, and guardrails + +List models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing). + +:param security: +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.ModelsListResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/modelscountresponse.md b/.github/skills/openrouter-python-sdk/references/api_reference/modelscountresponse.md new file mode 100644 index 000000000..e03ae3dea --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/modelscountresponse.md @@ -0,0 +1,41 @@ +# API Reference: modelscountresponse.py + +**Language**: Python + +**Source**: `src/openrouter/components/modelscountresponse.py` + +--- + +## Classes + +### DataTypedDict + +Model count data + +**Inherits from**: TypedDict + + + +### Data + +Model count data + +**Inherits from**: BaseModel + + + +### ModelsCountResponseTypedDict + +Model count data + +**Inherits from**: TypedDict + + + +### ModelsCountResponse + +Model count data + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/modelslistresponse.md b/.github/skills/openrouter-python-sdk/references/api_reference/modelslistresponse.md new file mode 100644 index 000000000..6f419468b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/modelslistresponse.md @@ -0,0 +1,25 @@ +# API Reference: modelslistresponse.py + +**Language**: Python + +**Source**: `src/openrouter/components/modelslistresponse.py` + +--- + +## Classes + +### ModelsListResponseTypedDict + +List of available models + +**Inherits from**: TypedDict + + + +### ModelsListResponse + +List of available models + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/namedtoolchoice.md b/.github/skills/openrouter-python-sdk/references/api_reference/namedtoolchoice.md new file mode 100644 index 000000000..776d2f368 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/namedtoolchoice.md @@ -0,0 +1,37 @@ +# API Reference: namedtoolchoice.py + +**Language**: Python + +**Source**: `src/openrouter/components/namedtoolchoice.py` + +--- + +## Classes + +### NamedToolChoiceFunctionTypedDict + +**Inherits from**: TypedDict + + + +### NamedToolChoiceFunction + +**Inherits from**: BaseModel + + + +### NamedToolChoiceTypedDict + +Named tool choice for specific function + +**Inherits from**: TypedDict + + + +### NamedToolChoice + +Named tool choice for specific function + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/no_response_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/no_response_error.md new file mode 100644 index 000000000..a43c04417 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/no_response_error.md @@ -0,0 +1,38 @@ +# API Reference: no_response_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/no_response_error.py` + +--- + +## Classes + +### NoResponseError + +Error raised when no HTTP response is received from the server. + +**Inherits from**: Exception + +#### Methods + +##### __init__(self, message: str = 'No response received') + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| message | str | 'No response received' | - | + + +##### __str__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponse_error.md new file mode 100644 index 000000000..d434b2055 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: notfoundresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/notfoundresponse_error.py` + +--- + +## Classes + +### NotFoundResponseErrorData + +**Inherits from**: BaseModel + + + +### NotFoundResponseError + +Not Found - Resource does not exist + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: NotFoundResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | NotFoundResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponseerrordata.md new file mode 100644 index 000000000..92bac1c8b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/notfoundresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: notfoundresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/notfoundresponseerrordata.py` + +--- + +## Classes + +### NotFoundResponseErrorDataTypedDict + +Error data for NotFoundResponse + +**Inherits from**: TypedDict + + + +### NotFoundResponseErrorData + +Error data for NotFoundResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/oauth.md b/.github/skills/openrouter-python-sdk/references/api_reference/oauth.md new file mode 100644 index 000000000..a70519e34 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/oauth.md @@ -0,0 +1,139 @@ +# API Reference: oauth.py + +**Language**: Python + +**Source**: `src/openrouter/oauth.py` + +--- + +## Classes + +### OAuth + +OAuth authentication endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### exchange_auth_code_for_api_key(self) → operations.ExchangeAuthCodeForAPIKeyResponse + +Exchange authorization code for API key + +Exchange an authorization code from the PKCE flow for a user-controlled API key + +:param code: The authorization code received from the OAuth redirect +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param code_verifier: The code verifier if code_challenge was used in the authorization request +:param code_challenge_method: The method used to generate the code challenge +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ExchangeAuthCodeForAPIKeyResponse` + + +##### exchange_auth_code_for_api_key_async(self) → operations.ExchangeAuthCodeForAPIKeyResponse + +Exchange authorization code for API key + +Exchange an authorization code from the PKCE flow for a user-controlled API key + +:param code: The authorization code received from the OAuth redirect +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param code_verifier: The code verifier if code_challenge was used in the authorization request +:param code_challenge_method: The method used to generate the code challenge +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ExchangeAuthCodeForAPIKeyResponse` + + +##### create_auth_code(self) → operations.CreateAuthKeysCodeResponse + +Create authorization code + +Create an authorization code for the PKCE flow to generate a user-controlled API key + +:param callback_url: The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed. +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param code_challenge: PKCE code challenge for enhanced security +:param code_challenge_method: The method used to generate the code challenge +:param limit: Credit limit for the API key to be created +:param expires_at: Optional expiration time for the API key to be created +:param key_label: Optional custom label for the API key. Defaults to the app name if not provided. +:param usage_limit_type: Optional credit limit reset interval. When set, the credit limit resets on this interval. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateAuthKeysCodeResponse` + + +##### create_auth_code_async(self) → operations.CreateAuthKeysCodeResponse + +Create authorization code + +Create an authorization code for the PKCE flow to generate a user-controlled API key + +:param callback_url: The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed. +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param code_challenge: PKCE code challenge for enhanced security +:param code_challenge_method: The method used to generate the code challenge +:param limit: Credit limit for the API key to be created +:param expires_at: Optional expiration time for the API key to be created +:param key_label: Optional custom label for the API key. Defaults to the app name if not provided. +:param usage_limit_type: Optional credit limit reset interval. When set, the credit limit resets on this interval. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateAuthKeysCodeResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_authorization_url.md b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_authorization_url.md new file mode 100644 index 000000000..22340341d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_authorization_url.md @@ -0,0 +1,82 @@ +# API Reference: oauth_create_authorization_url.py + +**Language**: Python + +**Source**: `src/openrouter/utils/oauth_create_authorization_url.py` + +--- + +## Classes + +### CreateAuthorizationUrlRequestBase + +Base request parameters for creating an authorization URL + +**Inherits from**: (none) + + + +### CreateAuthorizationUrlRequestWithPKCE + +Request parameters with PKCE for creating an authorization URL + +**Inherits from**: (none) + + + +## Functions + +### _get_server_url(client: 'OpenRouter') → str + +Get the server URL from the client configuration + +Args: + client: OpenRouter client instance + +Returns: + The server URL + +Raises: + ValueError: If no server URL is configured + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| client | 'OpenRouter' | - | - | + +**Returns**: `str` + + + +### oauth_create_authorization_url(client: 'OpenRouter', params: CreateAuthorizationUrlRequest) → str + +Generate an OAuth2 authorization URL + +Generates a URL to redirect users to for authorizing your application. The +URL includes the provided callback URL and, if applicable, the code +challenge parameters for PKCE. + +Args: + client: OpenRouter client instance + params: Request parameters including callback URL and optional PKCE parameters + +Returns: + The authorization URL as a string + +Raises: + ValueError: If no server URL is configured or parameters are invalid + +See Also: + - https://openrouter.ai/docs/use-cases/oauth-pkce + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| client | 'OpenRouter' | - | - | +| params | CreateAuthorizationUrlRequest | - | - | + +**Returns**: `str` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_sha256_code_challenge.md b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_sha256_code_challenge.md new file mode 100644 index 000000000..7c7c88826 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_create_sha256_code_challenge.md @@ -0,0 +1,117 @@ +# API Reference: oauth_create_sha256_code_challenge.py + +**Language**: Python + +**Source**: `src/openrouter/utils/oauth_create_sha256_code_challenge.py` + +--- + +## Classes + +### CreateSHA256CodeChallengeRequest + +Request parameters for creating a SHA-256 code challenge. + +If not provided, a random code verifier will be generated. +If provided, must be 43-128 characters and contain only unreserved +characters [A-Za-z0-9-._~] per RFC 7636. + +**Inherits from**: (none) + + + +### CreateSHA256CodeChallengeResponse + +Response containing the code challenge and verifier + +**Inherits from**: (none) + + + +## Functions + +### _array_buffer_to_base64_url(data: bytes) → str + +Convert bytes to base64url encoding (RFC 4648) + +Args: + data: Bytes to encode + +Returns: + Base64url encoded string + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| data | bytes | - | - | + +**Returns**: `str` + + + +### _generate_code_verifier() → str + +Generate a cryptographically random code verifier per RFC 7636 + +RFC 7636 recommends 32 octets of random data, base64url encoded = 43 chars + +Returns: + A random code verifier string + +**Returns**: `str` + + + +### _validate_code_verifier(code_verifier: str) → None + +Validate code verifier according to RFC 7636 + +Args: + code_verifier: The code verifier to validate + +Raises: + ValueError: If the code verifier is invalid + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| code_verifier | str | - | - | + +**Returns**: `None` + + + +### oauth_create_sha256_code_challenge(params: Optional[CreateSHA256CodeChallengeRequest] = None) → CreateSHA256CodeChallengeResponse + +Generate a SHA-256 code challenge for PKCE + +Generates a SHA-256 code challenge and corresponding code verifier for use +in the PKCE extension to OAuth2. If no code verifier is provided, a random +one will be generated according to RFC 7636 (32 random bytes, base64url +encoded). If a code verifier is provided, it must be 43-128 characters and +contain only unreserved characters [A-Za-z0-9-._~]. + +Args: + params: Optional request parameters. If None, a random code verifier will be generated. + +Returns: + CreateSHA256CodeChallengeResponse containing the code challenge and verifier + +Raises: + ValueError: If the provided code verifier is invalid + +See Also: + - https://openrouter.ai/docs/use-cases/oauth-pkce + - https://datatracker.ietf.org/doc/html/rfc7636 + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| params | Optional[CreateSHA256CodeChallengeRequest] | None | - | + +**Returns**: `CreateSHA256CodeChallengeResponse` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/oauth_pkce_example.md b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_pkce_example.md new file mode 100644 index 000000000..6bdbfd038 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/oauth_pkce_example.md @@ -0,0 +1,15 @@ +# API Reference: oauth_pkce_example.py + +**Language**: Python + +**Source**: `examples/oauth_pkce_example.py` + +--- + +## Functions + +### main() + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesincompletedetails.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesincompletedetails.md new file mode 100644 index 000000000..d2e7f9fc7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesincompletedetails.md @@ -0,0 +1,21 @@ +# API Reference: openairesponsesincompletedetails.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsesincompletedetails.py` + +--- + +## Classes + +### OpenAIResponsesIncompleteDetailsTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesIncompleteDetails + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesinput_union.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesinput_union.md new file mode 100644 index 000000000..98ee30407 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesinput_union.md @@ -0,0 +1,85 @@ +# API Reference: openairesponsesinput_union.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsesinput_union.py` + +--- + +## Classes + +### OpenAIResponsesInputFunctionCallTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesInputFunctionCall + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenAIResponsesInputFunctionCallOutputTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesInputFunctionCallOutput + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenAIResponsesInputMessage2TypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesInputMessage2 + +**Inherits from**: BaseModel + + + +### OpenAIResponsesInputMessage1TypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesInputMessage1 + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesprompt.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesprompt.md new file mode 100644 index 000000000..44078fd0c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesprompt.md @@ -0,0 +1,35 @@ +# API Reference: openairesponsesprompt.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsesprompt.py` + +--- + +## Classes + +### OpenAIResponsesPromptTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesPrompt + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesreasoningconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesreasoningconfig.md new file mode 100644 index 000000000..45da896d5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesreasoningconfig.md @@ -0,0 +1,35 @@ +# API Reference: openairesponsesreasoningconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsesreasoningconfig.py` + +--- + +## Classes + +### OpenAIResponsesReasoningConfigTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesReasoningConfig + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesrefusalcontent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesrefusalcontent.md new file mode 100644 index 000000000..79cde94a5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsesrefusalcontent.md @@ -0,0 +1,21 @@ +# API Reference: openairesponsesrefusalcontent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsesrefusalcontent.py` + +--- + +## Classes + +### OpenAIResponsesRefusalContentTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesRefusalContent + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsestoolchoice_union.md b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsestoolchoice_union.md new file mode 100644 index 000000000..5c3bce878 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openairesponsestoolchoice_union.md @@ -0,0 +1,33 @@ +# API Reference: openairesponsestoolchoice_union.py + +**Language**: Python + +**Source**: `src/openrouter/components/openairesponsestoolchoice_union.py` + +--- + +## Classes + +### OpenAIResponsesToolChoiceTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesToolChoice + +**Inherits from**: BaseModel + + + +### OpenAIResponsesToolChoiceFunctionTypedDict + +**Inherits from**: TypedDict + + + +### OpenAIResponsesToolChoiceFunction + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseseasyinputmessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseseasyinputmessage.md new file mode 100644 index 000000000..9021937ad --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseseasyinputmessage.md @@ -0,0 +1,51 @@ +# API Reference: openresponseseasyinputmessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseseasyinputmessage.py` + +--- + +## Classes + +### OpenResponsesEasyInputMessageContentInputImageTypedDict + +Image input content item + +**Inherits from**: TypedDict + + + +### OpenResponsesEasyInputMessageContentInputImage + +Image input content item + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesEasyInputMessageTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesEasyInputMessage + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseserrorevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseserrorevent.md new file mode 100644 index 000000000..dbabad222 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseserrorevent.md @@ -0,0 +1,39 @@ +# API Reference: openresponseserrorevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseserrorevent.py` + +--- + +## Classes + +### OpenResponsesErrorEventTypedDict + +Event emitted when an error occurs during streaming + +**Inherits from**: TypedDict + + + +### OpenResponsesErrorEvent + +Event emitted when an error occurs during streaming + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctioncalloutput.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctioncalloutput.md new file mode 100644 index 000000000..9b158df52 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctioncalloutput.md @@ -0,0 +1,39 @@ +# API Reference: openresponsesfunctioncalloutput.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesfunctioncalloutput.py` + +--- + +## Classes + +### OpenResponsesFunctionCallOutputTypedDict + +The output from a function call execution + +**Inherits from**: TypedDict + + + +### OpenResponsesFunctionCallOutput + +The output from a function call execution + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctiontoolcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctiontoolcall.md new file mode 100644 index 000000000..f57651642 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesfunctiontoolcall.md @@ -0,0 +1,39 @@ +# API Reference: openresponsesfunctiontoolcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesfunctiontoolcall.py` + +--- + +## Classes + +### OpenResponsesFunctionToolCallTypedDict + +A function call initiated by the model + +**Inherits from**: TypedDict + + + +### OpenResponsesFunctionToolCall + +A function call initiated by the model + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallcompleted.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallcompleted.md new file mode 100644 index 000000000..4d005fd5e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallcompleted.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesimagegencallcompleted.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesimagegencallcompleted.py` + +--- + +## Classes + +### OpenResponsesImageGenCallCompletedTypedDict + +Image generation call completed + +**Inherits from**: TypedDict + + + +### OpenResponsesImageGenCallCompleted + +Image generation call completed + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallgenerating.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallgenerating.md new file mode 100644 index 000000000..370b27a97 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallgenerating.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesimagegencallgenerating.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesimagegencallgenerating.py` + +--- + +## Classes + +### OpenResponsesImageGenCallGeneratingTypedDict + +Image generation call is generating + +**Inherits from**: TypedDict + + + +### OpenResponsesImageGenCallGenerating + +Image generation call is generating + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallinprogress.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallinprogress.md new file mode 100644 index 000000000..87d52d485 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallinprogress.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesimagegencallinprogress.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesimagegencallinprogress.py` + +--- + +## Classes + +### OpenResponsesImageGenCallInProgressTypedDict + +Image generation call in progress + +**Inherits from**: TypedDict + + + +### OpenResponsesImageGenCallInProgress + +Image generation call in progress + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallpartialimage.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallpartialimage.md new file mode 100644 index 000000000..2b5c22903 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesimagegencallpartialimage.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesimagegencallpartialimage.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesimagegencallpartialimage.py` + +--- + +## Classes + +### OpenResponsesImageGenCallPartialImageTypedDict + +Image generation call with partial image + +**Inherits from**: TypedDict + + + +### OpenResponsesImageGenCallPartialImage + +Image generation call with partial image + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesinputmessageitem.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesinputmessageitem.md new file mode 100644 index 000000000..0972ed953 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesinputmessageitem.md @@ -0,0 +1,51 @@ +# API Reference: openresponsesinputmessageitem.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesinputmessageitem.py` + +--- + +## Classes + +### OpenResponsesInputMessageItemContentInputImageTypedDict + +Image input content item + +**Inherits from**: TypedDict + + + +### OpenResponsesInputMessageItemContentInputImage + +Image input content item + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesInputMessageItemTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesInputMessageItem + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseslogprobs.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseslogprobs.md new file mode 100644 index 000000000..212aef94b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseslogprobs.md @@ -0,0 +1,25 @@ +# API Reference: openresponseslogprobs.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseslogprobs.py` + +--- + +## Classes + +### OpenResponsesLogProbsTypedDict + +Log probability information for a token + +**Inherits from**: TypedDict + + + +### OpenResponsesLogProbs + +Log probability information for a token + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesnonstreamingresponse.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesnonstreamingresponse.md new file mode 100644 index 000000000..a75e4a4b2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesnonstreamingresponse.md @@ -0,0 +1,69 @@ +# API Reference: openresponsesnonstreamingresponse.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesnonstreamingresponse.py` + +--- + +## Classes + +### OpenResponsesNonStreamingResponseToolFunctionTypedDict + +Function tool definition + +**Inherits from**: TypedDict + + + +### OpenResponsesNonStreamingResponseToolFunction + +Function tool definition + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesNonStreamingResponseTypedDict + +Complete non-streaming response from the Responses API + +**Inherits from**: TypedDict + + + +### OpenResponsesNonStreamingResponse + +Complete non-streaming response from the Responses API + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoning.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoning.md new file mode 100644 index 000000000..d854e8020 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoning.md @@ -0,0 +1,39 @@ +# API Reference: openresponsesreasoning.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoning.py` + +--- + +## Classes + +### OpenResponsesReasoningTypedDict + +Reasoning output item with signature and format extensions + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoning + +Reasoning output item with signature and format extensions + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningconfig.md new file mode 100644 index 000000000..bb1563a8f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningconfig.md @@ -0,0 +1,39 @@ +# API Reference: openresponsesreasoningconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningconfig.py` + +--- + +## Classes + +### OpenResponsesReasoningConfigTypedDict + +Configuration for reasoning mode in the response + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningConfig + +Configuration for reasoning mode in the response + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdeltaevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdeltaevent.md new file mode 100644 index 000000000..0140c9373 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdeltaevent.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesreasoningdeltaevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningdeltaevent.py` + +--- + +## Classes + +### OpenResponsesReasoningDeltaEventTypedDict + +Event emitted when reasoning text delta is streamed + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningDeltaEvent + +Event emitted when reasoning text delta is streamed + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdoneevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdoneevent.md new file mode 100644 index 000000000..635d1fa67 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningdoneevent.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesreasoningdoneevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningdoneevent.py` + +--- + +## Classes + +### OpenResponsesReasoningDoneEventTypedDict + +Event emitted when reasoning text streaming is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningDoneEvent + +Event emitted when reasoning text streaming is complete + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarypartaddedevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarypartaddedevent.md new file mode 100644 index 000000000..4ebed7887 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarypartaddedevent.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesreasoningsummarypartaddedevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningsummarypartaddedevent.py` + +--- + +## Classes + +### OpenResponsesReasoningSummaryPartAddedEventTypedDict + +Event emitted when a reasoning summary part is added + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningSummaryPartAddedEvent + +Event emitted when a reasoning summary part is added + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdeltaevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdeltaevent.md new file mode 100644 index 000000000..cc27b3a9a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdeltaevent.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesreasoningsummarytextdeltaevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningsummarytextdeltaevent.py` + +--- + +## Classes + +### OpenResponsesReasoningSummaryTextDeltaEventTypedDict + +Event emitted when reasoning summary text delta is streamed + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningSummaryTextDeltaEvent + +Event emitted when reasoning summary text delta is streamed + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdoneevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdoneevent.md new file mode 100644 index 000000000..6113dc332 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesreasoningsummarytextdoneevent.md @@ -0,0 +1,25 @@ +# API Reference: openresponsesreasoningsummarytextdoneevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesreasoningsummarytextdoneevent.py` + +--- + +## Classes + +### OpenResponsesReasoningSummaryTextDoneEventTypedDict + +Event emitted when reasoning summary text streaming is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesReasoningSummaryTextDoneEvent + +Event emitted when reasoning summary text streaming is complete + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesrequest.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesrequest.md new file mode 100644 index 000000000..8905d42c4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesrequest.md @@ -0,0 +1,216 @@ +# API Reference: openresponsesrequest.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesrequest.py` + +--- + +## Classes + +### OpenResponsesRequestToolFunctionTypedDict + +Function tool definition + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestToolFunction + +Function tool definition + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesRequestMaxPriceTypedDict + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestProviderTypedDict + +When multiple model providers are available, optionally indicate your routing preference. + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestProvider + +When multiple model providers are available, optionally indicate your routing preference. + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesRequestPluginResponseHealingTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestPluginResponseHealing + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestPluginFileParserTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestPluginFileParser + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestPluginWebTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestPluginWeb + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestPluginModerationTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestPluginModeration + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestPluginAutoRouterTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestPluginAutoRouter + +**Inherits from**: BaseModel + + + +### OpenResponsesRequestTraceTypedDict + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + +**Inherits from**: TypedDict + + + +### OpenResponsesRequestTrace + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + +**Inherits from**: BaseModel + +#### Methods + +##### additional_properties(self) + +**Decorators**: `@property` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### additional_properties(self, value) + +**Decorators**: `@additional_properties.setter` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| value | None | - | - | + + + + +### OpenResponsesRequestTypedDict + +Request schema for Responses endpoint + +**Inherits from**: TypedDict + + + +### OpenResponsesRequest + +Request schema for Responses endpoint + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesresponsetext.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesresponsetext.md new file mode 100644 index 000000000..4cfae6086 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesresponsetext.md @@ -0,0 +1,39 @@ +# API Reference: openresponsesresponsetext.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesresponsetext.py` + +--- + +## Classes + +### OpenResponsesResponseTextTypedDict + +Text output configuration including format and verbosity + +**Inherits from**: TypedDict + + + +### OpenResponsesResponseText + +Text output configuration including format and verbosity + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesstreamevent.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesstreamevent.md new file mode 100644 index 000000000..bbcf19486 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesstreamevent.md @@ -0,0 +1,281 @@ +# API Reference: openresponsesstreamevent.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesstreamevent.py` + +--- + +## Classes + +### OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict + +Event emitted when a reasoning summary part is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseReasoningSummaryPartDone + +Event emitted when a reasoning summary part is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict + +Event emitted when function call arguments streaming is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseFunctionCallArgumentsDone + +Event emitted when function call arguments streaming is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict + +Event emitted when function call arguments are being streamed + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseFunctionCallArgumentsDelta + +Event emitted when function call arguments are being streamed + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict + +Event emitted when a text annotation is added to output + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseOutputTextAnnotationAdded + +Event emitted when a text annotation is added to output + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseRefusalDoneTypedDict + +Event emitted when refusal streaming is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseRefusalDone + +Event emitted when refusal streaming is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseRefusalDeltaTypedDict + +Event emitted when a refusal delta is streamed + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseRefusalDelta + +Event emitted when a refusal delta is streamed + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseOutputTextDoneTypedDict + +Event emitted when text streaming is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseOutputTextDone + +Event emitted when text streaming is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseOutputTextDeltaTypedDict + +Event emitted when a text delta is streamed + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseOutputTextDelta + +Event emitted when a text delta is streamed + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseContentPartDoneTypedDict + +Event emitted when a content part is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseContentPartDone + +Event emitted when a content part is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseContentPartAddedTypedDict + +Event emitted when a new content part is added to an output item + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseContentPartAdded + +Event emitted when a new content part is added to an output item + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseOutputItemDoneTypedDict + +Event emitted when an output item is complete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseOutputItemDone + +Event emitted when an output item is complete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseOutputItemAddedTypedDict + +Event emitted when a new output item is added to the response + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseOutputItemAdded + +Event emitted when a new output item is added to the response + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseFailedTypedDict + +Event emitted when a response has failed + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseFailed + +Event emitted when a response has failed + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseIncompleteTypedDict + +Event emitted when a response is incomplete + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseIncomplete + +Event emitted when a response is incomplete + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseCompletedTypedDict + +Event emitted when a response has completed successfully + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseCompleted + +Event emitted when a response has completed successfully + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseInProgressTypedDict + +Event emitted when a response is in progress + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseInProgress + +Event emitted when a response is in progress + +**Inherits from**: BaseModel + + + +### OpenResponsesStreamEventResponseCreatedTypedDict + +Event emitted when a response is created + +**Inherits from**: TypedDict + + + +### OpenResponsesStreamEventResponseCreated + +Event emitted when a response is created + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsestoplogprobs.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsestoplogprobs.md new file mode 100644 index 000000000..3f865f4af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsestoplogprobs.md @@ -0,0 +1,25 @@ +# API Reference: openresponsestoplogprobs.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsestoplogprobs.py` + +--- + +## Classes + +### OpenResponsesTopLogprobsTypedDict + +Alternative token with its log probability + +**Inherits from**: TypedDict + + + +### OpenResponsesTopLogprobs + +Alternative token with its log probability + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesusage.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesusage.md new file mode 100644 index 000000000..ebb0db252 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponsesusage.md @@ -0,0 +1,89 @@ +# API Reference: openresponsesusage.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponsesusage.py` + +--- + +## Classes + +### InputTokensDetailsTypedDict + +**Inherits from**: TypedDict + + + +### InputTokensDetails + +**Inherits from**: BaseModel + + + +### OutputTokensDetailsTypedDict + +**Inherits from**: TypedDict + + + +### OutputTokensDetails + +**Inherits from**: BaseModel + + + +### CostDetailsTypedDict + +**Inherits from**: TypedDict + + + +### CostDetails + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesUsageTypedDict + +Token usage information for the response + +**Inherits from**: TypedDict + + + +### OpenResponsesUsage + +Token usage information for the response + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearch20250826tool.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearch20250826tool.md new file mode 100644 index 000000000..f514e360d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearch20250826tool.md @@ -0,0 +1,65 @@ +# API Reference: openresponseswebsearch20250826tool.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseswebsearch20250826tool.py` + +--- + +## Classes + +### OpenResponsesWebSearch20250826ToolFiltersTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearch20250826ToolFilters + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesWebSearch20250826ToolTypedDict + +Web search tool configuration (2025-08-26 version) + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearch20250826Tool + +Web search tool configuration (2025-08-26 version) + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreview20250311tool.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreview20250311tool.md new file mode 100644 index 000000000..8dc52828b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreview20250311tool.md @@ -0,0 +1,39 @@ +# API Reference: openresponseswebsearchpreview20250311tool.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseswebsearchpreview20250311tool.py` + +--- + +## Classes + +### OpenResponsesWebSearchPreview20250311ToolTypedDict + +Web search preview tool configuration (2025-03-11 version) + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearchPreview20250311Tool + +Web search preview tool configuration (2025-03-11 version) + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreviewtool.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreviewtool.md new file mode 100644 index 000000000..848ece24e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchpreviewtool.md @@ -0,0 +1,39 @@ +# API Reference: openresponseswebsearchpreviewtool.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseswebsearchpreviewtool.py` + +--- + +## Classes + +### OpenResponsesWebSearchPreviewToolTypedDict + +Web search preview tool configuration + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearchPreviewTool + +Web search preview tool configuration + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchtool.md b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchtool.md new file mode 100644 index 000000000..0f17f187d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openresponseswebsearchtool.md @@ -0,0 +1,65 @@ +# API Reference: openresponseswebsearchtool.py + +**Language**: Python + +**Source**: `src/openrouter/components/openresponseswebsearchtool.py` + +--- + +## Classes + +### OpenResponsesWebSearchToolFiltersTypedDict + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearchToolFilters + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### OpenResponsesWebSearchToolTypedDict + +Web search tool configuration + +**Inherits from**: TypedDict + + + +### OpenResponsesWebSearchTool + +Web search tool configuration + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openrouterdefaulterror.md b/.github/skills/openrouter-python-sdk/references/api_reference/openrouterdefaulterror.md new file mode 100644 index 000000000..f2ccf4cc0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openrouterdefaulterror.md @@ -0,0 +1,31 @@ +# API Reference: openrouterdefaulterror.py + +**Language**: Python + +**Source**: `src/openrouter/errors/openrouterdefaulterror.py` + +--- + +## Classes + +### OpenRouterDefaultError + +The fallback error class if no more specific error class is matched. + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, message: str, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| message | str | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/openroutererror.md b/.github/skills/openrouter-python-sdk/references/api_reference/openroutererror.md new file mode 100644 index 000000000..506516d2a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/openroutererror.md @@ -0,0 +1,40 @@ +# API Reference: openroutererror.py + +**Language**: Python + +**Source**: `src/openrouter/errors/openroutererror.py` + +--- + +## Classes + +### OpenRouterError + +The base class for all HTTP error responses. + +**Inherits from**: Exception + +#### Methods + +##### __init__(self, message: str, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| message | str | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + +##### __str__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/outputitemimagegenerationcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/outputitemimagegenerationcall.md new file mode 100644 index 000000000..5d72d0f19 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/outputitemimagegenerationcall.md @@ -0,0 +1,35 @@ +# API Reference: outputitemimagegenerationcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/outputitemimagegenerationcall.py` + +--- + +## Classes + +### OutputItemImageGenerationCallTypedDict + +**Inherits from**: TypedDict + + + +### OutputItemImageGenerationCall + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/outputmessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/outputmessage.md new file mode 100644 index 000000000..7da931814 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/outputmessage.md @@ -0,0 +1,21 @@ +# API Reference: outputmessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/outputmessage.py` + +--- + +## Classes + +### OutputMessageTypedDict + +**Inherits from**: TypedDict + + + +### OutputMessage + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponse_error.md new file mode 100644 index 000000000..3e818dcc5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: payloadtoolargeresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/payloadtoolargeresponse_error.py` + +--- + +## Classes + +### PayloadTooLargeResponseErrorData + +**Inherits from**: BaseModel + + + +### PayloadTooLargeResponseError + +Payload Too Large - Request payload exceeds size limits + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: PayloadTooLargeResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | PayloadTooLargeResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponseerrordata.md new file mode 100644 index 000000000..91726f888 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/payloadtoolargeresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: payloadtoolargeresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/payloadtoolargeresponseerrordata.py` + +--- + +## Classes + +### PayloadTooLargeResponseErrorDataTypedDict + +Error data for PayloadTooLargeResponse + +**Inherits from**: TypedDict + + + +### PayloadTooLargeResponseErrorData + +Error data for PayloadTooLargeResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponse_error.md new file mode 100644 index 000000000..bf29c6cd7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: paymentrequiredresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/paymentrequiredresponse_error.py` + +--- + +## Classes + +### PaymentRequiredResponseErrorData + +**Inherits from**: BaseModel + + + +### PaymentRequiredResponseError + +Payment Required - Insufficient credits or quota to complete request + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: PaymentRequiredResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | PaymentRequiredResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponseerrordata.md new file mode 100644 index 000000000..f66c4e211 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/paymentrequiredresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: paymentrequiredresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/paymentrequiredresponseerrordata.py` + +--- + +## Classes + +### PaymentRequiredResponseErrorDataTypedDict + +Error data for PaymentRequiredResponse + +**Inherits from**: TypedDict + + + +### PaymentRequiredResponseErrorData + +Error data for PaymentRequiredResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/pdfparseroptions.md b/.github/skills/openrouter-python-sdk/references/api_reference/pdfparseroptions.md new file mode 100644 index 000000000..c1462ca52 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/pdfparseroptions.md @@ -0,0 +1,25 @@ +# API Reference: pdfparseroptions.py + +**Language**: Python + +**Source**: `src/openrouter/components/pdfparseroptions.py` + +--- + +## Classes + +### PDFParserOptionsTypedDict + +Options for PDF parsing. + +**Inherits from**: TypedDict + + + +### PDFParserOptions + +Options for PDF parsing. + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/percentilelatencycutoffs.md b/.github/skills/openrouter-python-sdk/references/api_reference/percentilelatencycutoffs.md new file mode 100644 index 000000000..fc1cf39be --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/percentilelatencycutoffs.md @@ -0,0 +1,39 @@ +# API Reference: percentilelatencycutoffs.py + +**Language**: Python + +**Source**: `src/openrouter/components/percentilelatencycutoffs.py` + +--- + +## Classes + +### PercentileLatencyCutoffsTypedDict + +Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + +**Inherits from**: TypedDict + + + +### PercentileLatencyCutoffs + +Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/percentilestats.md b/.github/skills/openrouter-python-sdk/references/api_reference/percentilestats.md new file mode 100644 index 000000000..6d0833eaa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/percentilestats.md @@ -0,0 +1,25 @@ +# API Reference: percentilestats.py + +**Language**: Python + +**Source**: `src/openrouter/components/percentilestats.py` + +--- + +## Classes + +### PercentileStatsTypedDict + +Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. + +**Inherits from**: TypedDict + + + +### PercentileStats + +Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/percentilethroughputcutoffs.md b/.github/skills/openrouter-python-sdk/references/api_reference/percentilethroughputcutoffs.md new file mode 100644 index 000000000..47bed5a4f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/percentilethroughputcutoffs.md @@ -0,0 +1,39 @@ +# API Reference: percentilethroughputcutoffs.py + +**Language**: Python + +**Source**: `src/openrouter/components/percentilethroughputcutoffs.py` + +--- + +## Classes + +### PercentileThroughputCutoffsTypedDict + +Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + +**Inherits from**: TypedDict + + + +### PercentileThroughputCutoffs + +Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/perrequestlimits.md b/.github/skills/openrouter-python-sdk/references/api_reference/perrequestlimits.md new file mode 100644 index 000000000..10b53c978 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/perrequestlimits.md @@ -0,0 +1,25 @@ +# API Reference: perrequestlimits.py + +**Language**: Python + +**Source**: `src/openrouter/components/perrequestlimits.py` + +--- + +## Classes + +### PerRequestLimitsTypedDict + +Per-request token limits + +**Inherits from**: TypedDict + + + +### PerRequestLimits + +Per-request token limits + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponse_error.md new file mode 100644 index 000000000..84b8f71b5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: provideroverloadedresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/provideroverloadedresponse_error.py` + +--- + +## Classes + +### ProviderOverloadedResponseErrorData + +**Inherits from**: BaseModel + + + +### ProviderOverloadedResponseError + +Provider Overloaded - Provider is temporarily overloaded + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: ProviderOverloadedResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | ProviderOverloadedResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponseerrordata.md new file mode 100644 index 000000000..02c94be76 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/provideroverloadedresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: provideroverloadedresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/provideroverloadedresponseerrordata.py` + +--- + +## Classes + +### ProviderOverloadedResponseErrorDataTypedDict + +Error data for ProviderOverloadedResponse + +**Inherits from**: TypedDict + + + +### ProviderOverloadedResponseErrorData + +Error data for ProviderOverloadedResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/providerpreferences.md b/.github/skills/openrouter-python-sdk/references/api_reference/providerpreferences.md new file mode 100644 index 000000000..455fc7f09 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/providerpreferences.md @@ -0,0 +1,81 @@ +# API Reference: providerpreferences.py + +**Language**: Python + +**Source**: `src/openrouter/components/providerpreferences.py` + +--- + +## Classes + +### ProviderPreferencesProviderSortConfigTypedDict + +**Inherits from**: TypedDict + + + +### ProviderPreferencesProviderSortConfig + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ProviderPreferencesMaxPriceTypedDict + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: TypedDict + + + +### ProviderPreferencesMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + +**Inherits from**: BaseModel + + + +### ProviderPreferencesTypedDict + +Provider routing preferences for the request. + +**Inherits from**: TypedDict + + + +### ProviderPreferences + +Provider routing preferences for the request. + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/providers.md b/.github/skills/openrouter-python-sdk/references/api_reference/providers.md new file mode 100644 index 000000000..628fa6c67 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/providers.md @@ -0,0 +1,65 @@ +# API Reference: providers.py + +**Language**: Python + +**Source**: `src/openrouter/providers.py` + +--- + +## Classes + +### Providers + +Provider information endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### list(self) → operations.ListProvidersResponse + +List all providers + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListProvidersResponse` + + +##### list_async(self) → operations.ListProvidersResponse + +List all providers + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.ListProvidersResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/providersortconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/providersortconfig.md new file mode 100644 index 000000000..884facd36 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/providersortconfig.md @@ -0,0 +1,39 @@ +# API Reference: providersortconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/providersortconfig.py` + +--- + +## Classes + +### ProviderSortConfigTypedDict + +The provider sorting strategy (price, throughput, latency) + +**Inherits from**: TypedDict + + + +### ProviderSortConfig + +The provider sorting strategy (price, throughput, latency) + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/publicendpoint.md b/.github/skills/openrouter-python-sdk/references/api_reference/publicendpoint.md new file mode 100644 index 000000000..f4cf13df1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/publicendpoint.md @@ -0,0 +1,51 @@ +# API Reference: publicendpoint.py + +**Language**: Python + +**Source**: `src/openrouter/components/publicendpoint.py` + +--- + +## Classes + +### PricingTypedDict + +**Inherits from**: TypedDict + + + +### Pricing + +**Inherits from**: BaseModel + + + +### PublicEndpointTypedDict + +Information about a specific model endpoint + +**Inherits from**: TypedDict + + + +### PublicEndpoint + +Information about a specific model endpoint + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/publicpricing.md b/.github/skills/openrouter-python-sdk/references/api_reference/publicpricing.md new file mode 100644 index 000000000..03eafbe3f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/publicpricing.md @@ -0,0 +1,25 @@ +# API Reference: publicpricing.py + +**Language**: Python + +**Source**: `src/openrouter/components/publicpricing.py` + +--- + +## Classes + +### PublicPricingTypedDict + +Pricing information for the model + +**Inherits from**: TypedDict + + + +### PublicPricing + +Pricing information for the model + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/queryparams.md b/.github/skills/openrouter-python-sdk/references/api_reference/queryparams.md new file mode 100644 index 000000000..d316068d1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/queryparams.md @@ -0,0 +1,111 @@ +# API Reference: queryparams.py + +**Language**: Python + +**Source**: `src/openrouter/utils/queryparams.py` + +--- + +## Functions + +### get_query_params(query_params: Any, gbls: Optional[Any] = None, allow_empty_value: Optional[List[str]] = None) → Dict[str, List[str]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| query_params | Any | - | - | +| gbls | Optional[Any] | None | - | +| allow_empty_value | Optional[List[str]] | None | - | + +**Returns**: `Dict[str, List[str]]` + + + +### _populate_query_params(query_params: Any, gbls: Any, query_param_values: Dict[str, List[str]], skip_fields: List[str], allow_empty_value: Optional[List[str]] = None) → List[str] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| query_params | Any | - | - | +| gbls | Any | - | - | +| query_param_values | Dict[str, List[str]] | - | - | +| skip_fields | List[str] | - | - | +| allow_empty_value | Optional[List[str]] | None | - | + +**Returns**: `List[str]` + + + +### _populate_deep_object_query_params(field_name: str, obj: Any, params: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field_name | str | - | - | +| obj | Any | - | - | +| params | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + + +### _populate_deep_object_query_params_basemodel(prior_params_key: str, obj: Any, params: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| prior_params_key | str | - | - | +| obj | Any | - | - | +| params | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + + +### _populate_deep_object_query_params_dict(prior_params_key: str, value: Dict, params: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| prior_params_key | str | - | - | +| value | Dict | - | - | +| params | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + + +### _populate_deep_object_query_params_list(params_key: str, value: List, params: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| params_key | str | - | - | +| value | List | - | - | +| params | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + + +### _populate_delimited_query_params(metadata: QueryParamMetadata, field_name: str, obj: Any, delimiter: str, query_param_values: Dict[str, List[str]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| metadata | QueryParamMetadata | - | - | +| field_name | str | - | - | +| obj | Any | - | - | +| delimiter | str | - | - | +| query_param_values | Dict[str, List[str]] | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailencrypted.md b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailencrypted.md new file mode 100644 index 000000000..82213054b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailencrypted.md @@ -0,0 +1,39 @@ +# API Reference: reasoningdetailencrypted.py + +**Language**: Python + +**Source**: `src/openrouter/components/reasoningdetailencrypted.py` + +--- + +## Classes + +### ReasoningDetailEncryptedTypedDict + +Reasoning detail encrypted schema + +**Inherits from**: TypedDict + + + +### ReasoningDetailEncrypted + +Reasoning detail encrypted schema + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailsummary.md b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailsummary.md new file mode 100644 index 000000000..9586efe68 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailsummary.md @@ -0,0 +1,39 @@ +# API Reference: reasoningdetailsummary.py + +**Language**: Python + +**Source**: `src/openrouter/components/reasoningdetailsummary.py` + +--- + +## Classes + +### ReasoningDetailSummaryTypedDict + +Reasoning detail summary schema + +**Inherits from**: TypedDict + + + +### ReasoningDetailSummary + +Reasoning detail summary schema + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailtext.md b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailtext.md new file mode 100644 index 000000000..46d6d011a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningdetailtext.md @@ -0,0 +1,39 @@ +# API Reference: reasoningdetailtext.py + +**Language**: Python + +**Source**: `src/openrouter/components/reasoningdetailtext.py` + +--- + +## Classes + +### ReasoningDetailTextTypedDict + +Reasoning detail text schema + +**Inherits from**: TypedDict + + + +### ReasoningDetailText + +Reasoning detail text schema + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/reasoningsummarytext.md b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningsummarytext.md new file mode 100644 index 000000000..7e5b650e6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningsummarytext.md @@ -0,0 +1,21 @@ +# API Reference: reasoningsummarytext.py + +**Language**: Python + +**Source**: `src/openrouter/components/reasoningsummarytext.py` + +--- + +## Classes + +### ReasoningSummaryTextTypedDict + +**Inherits from**: TypedDict + + + +### ReasoningSummaryText + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/reasoningtextcontent.md b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningtextcontent.md new file mode 100644 index 000000000..f7cda2e34 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/reasoningtextcontent.md @@ -0,0 +1,21 @@ +# API Reference: reasoningtextcontent.py + +**Language**: Python + +**Source**: `src/openrouter/components/reasoningtextcontent.py` + +--- + +## Classes + +### ReasoningTextContentTypedDict + +**Inherits from**: TypedDict + + + +### ReasoningTextContent + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/registration.md b/.github/skills/openrouter-python-sdk/references/api_reference/registration.md new file mode 100644 index 000000000..83bbed5b7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/registration.md @@ -0,0 +1,25 @@ +# API Reference: registration.py + +**Language**: Python + +**Source**: `src/openrouter/_hooks/registration.py` + +--- + +## Functions + +### init_hooks(hooks: Hooks) + +Add hooks by calling hooks.register{sdk_init/before_request/after_success/after_error}Hook +with an instance of a hook that implements that specific Hook interface +Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| hooks | Hooks | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/requestbodies.md b/.github/skills/openrouter-python-sdk/references/api_reference/requestbodies.md new file mode 100644 index 000000000..0c503f025 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/requestbodies.md @@ -0,0 +1,33 @@ +# API Reference: requestbodies.py + +**Language**: Python + +**Source**: `src/openrouter/utils/requestbodies.py` + +--- + +## Classes + +### SerializedRequestBody + +**Inherits from**: (none) + + + +## Functions + +### serialize_request_body(request_body: Any, nullable: bool, optional: bool, serialization_method: str, request_body_type) → Optional[SerializedRequestBody] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| request_body | Any | - | - | +| nullable | bool | - | - | +| optional | bool | - | - | +| serialization_method | str | - | - | +| request_body_type | None | - | - | + +**Returns**: `Optional[SerializedRequestBody]` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponse_error.md new file mode 100644 index 000000000..fb156bcff --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: requesttimeoutresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/requesttimeoutresponse_error.py` + +--- + +## Classes + +### RequestTimeoutResponseErrorData + +**Inherits from**: BaseModel + + + +### RequestTimeoutResponseError + +Request Timeout - Operation exceeded time limit + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: RequestTimeoutResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | RequestTimeoutResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponseerrordata.md new file mode 100644 index 000000000..8ee1d30c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/requesttimeoutresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: requesttimeoutresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/requesttimeoutresponseerrordata.py` + +--- + +## Classes + +### RequestTimeoutResponseErrorDataTypedDict + +Error data for RequestTimeoutResponse + +**Inherits from**: TypedDict + + + +### RequestTimeoutResponseErrorData + +Error data for RequestTimeoutResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonobject.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonobject.md new file mode 100644 index 000000000..81198d880 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonobject.md @@ -0,0 +1,25 @@ +# API Reference: responseformatjsonobject.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseformatjsonobject.py` + +--- + +## Classes + +### ResponseFormatJSONObjectTypedDict + +JSON object response format + +**Inherits from**: TypedDict + + + +### ResponseFormatJSONObject + +JSON object response format + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonschema.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonschema.md new file mode 100644 index 000000000..8af7d8620 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseformatjsonschema.md @@ -0,0 +1,25 @@ +# API Reference: responseformatjsonschema.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseformatjsonschema.py` + +--- + +## Classes + +### ResponseFormatJSONSchemaTypedDict + +JSON Schema response format for structured outputs + +**Inherits from**: TypedDict + + + +### ResponseFormatJSONSchema + +JSON Schema response format for structured outputs + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseformattext.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattext.md new file mode 100644 index 000000000..6e8e9d70f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattext.md @@ -0,0 +1,25 @@ +# API Reference: responseformattext.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseformattext.py` + +--- + +## Classes + +### ResponseFormatTextTypedDict + +Default text response format + +**Inherits from**: TypedDict + + + +### ResponseFormatText + +Default text response format + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextgrammar.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextgrammar.md new file mode 100644 index 000000000..670c3e5ec --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextgrammar.md @@ -0,0 +1,25 @@ +# API Reference: responseformattextgrammar.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseformattextgrammar.py` + +--- + +## Classes + +### ResponseFormatTextGrammarTypedDict + +Custom grammar response format + +**Inherits from**: TypedDict + + + +### ResponseFormatTextGrammar + +Custom grammar response format + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextpython.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextpython.md new file mode 100644 index 000000000..551aed035 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseformattextpython.md @@ -0,0 +1,25 @@ +# API Reference: responseformattextpython.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseformattextpython.py` + +--- + +## Classes + +### ResponseFormatTextPythonTypedDict + +Python code response format + +**Inherits from**: TypedDict + + + +### ResponseFormatTextPython + +Python code response format + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseinputaudio.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputaudio.md new file mode 100644 index 000000000..e3bf3a06c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputaudio.md @@ -0,0 +1,37 @@ +# API Reference: responseinputaudio.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseinputaudio.py` + +--- + +## Classes + +### ResponseInputAudioInputAudioTypedDict + +**Inherits from**: TypedDict + + + +### ResponseInputAudioInputAudio + +**Inherits from**: BaseModel + + + +### ResponseInputAudioTypedDict + +Audio input content item + +**Inherits from**: TypedDict + + + +### ResponseInputAudio + +Audio input content item + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseinputfile.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputfile.md new file mode 100644 index 000000000..0e23421b1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputfile.md @@ -0,0 +1,39 @@ +# API Reference: responseinputfile.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseinputfile.py` + +--- + +## Classes + +### ResponseInputFileTypedDict + +File input content item + +**Inherits from**: TypedDict + + + +### ResponseInputFile + +File input content item + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseinputimage.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputimage.md new file mode 100644 index 000000000..8c13e7e23 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputimage.md @@ -0,0 +1,39 @@ +# API Reference: responseinputimage.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseinputimage.py` + +--- + +## Classes + +### ResponseInputImageTypedDict + +Image input content item + +**Inherits from**: TypedDict + + + +### ResponseInputImage + +Image input content item + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseinputtext.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputtext.md new file mode 100644 index 000000000..b6ed58000 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputtext.md @@ -0,0 +1,25 @@ +# API Reference: responseinputtext.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseinputtext.py` + +--- + +## Classes + +### ResponseInputTextTypedDict + +Text input content item + +**Inherits from**: TypedDict + + + +### ResponseInputText + +Text input content item + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseinputvideo.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputvideo.md new file mode 100644 index 000000000..b6e8e2167 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseinputvideo.md @@ -0,0 +1,25 @@ +# API Reference: responseinputvideo.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseinputvideo.py` + +--- + +## Classes + +### ResponseInputVideoTypedDict + +Video input content item + +**Inherits from**: TypedDict + + + +### ResponseInputVideo + +Video input content item + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseoutputtext.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseoutputtext.md new file mode 100644 index 000000000..c3d7b797a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseoutputtext.md @@ -0,0 +1,45 @@ +# API Reference: responseoutputtext.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseoutputtext.py` + +--- + +## Classes + +### ResponseOutputTextTopLogprobTypedDict + +**Inherits from**: TypedDict + + + +### ResponseOutputTextTopLogprob + +**Inherits from**: BaseModel + + + +### LogprobTypedDict + +**Inherits from**: TypedDict + + + +### Logprob + +**Inherits from**: BaseModel + + + +### ResponseOutputTextTypedDict + +**Inherits from**: TypedDict + + + +### ResponseOutputText + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responses.md b/.github/skills/openrouter-python-sdk/references/api_reference/responses.md new file mode 100644 index 000000000..6b4bf6850 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responses.md @@ -0,0 +1,393 @@ +# API Reference: responses.py + +**Language**: Python + +**Source**: `src/openrouter/responses.py` + +--- + +## Classes + +### SendAcceptEnum + +**Inherits from**: str, Enum + + + +### Responses + +beta.responses endpoints + +**Inherits from**: BaseSDK + +#### Methods + +##### send(self) → components.OpenResponsesNonStreamingResponse + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.OpenResponsesNonStreamingResponse` + + +##### send(self) → eventstreaming.EventStream[components.OpenResponsesStreamEvent] + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `eventstreaming.EventStream[components.OpenResponsesStreamEvent]` + + +##### send(self) → operations.CreateResponsesResponse + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateResponsesResponse` + + +##### send_async(self) → components.OpenResponsesNonStreamingResponse + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `components.OpenResponsesNonStreamingResponse` + + +##### send_async(self) → eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent] + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Decorators**: `@overload` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]` + + +##### send_async(self) → operations.CreateResponsesResponse + +Create a response + +Creates a streaming or non-streaming response using OpenResponses API format + +:param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. + This is used to track API usage per application. + +:param x_title: The app display name allows you to customize how your app appears in OpenRouter's dashboard. + +:param input: Input for a response request - can be a string or array of items +:param instructions: +:param metadata: Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. +:param tools: +:param tool_choice: +:param parallel_tool_calls: +:param model: +:param models: +:param text: Text output configuration including format and verbosity +:param reasoning: Configuration for reasoning mode in the response +:param max_output_tokens: +:param temperature: +:param top_p: +:param top_logprobs: +:param max_tool_calls: +:param presence_penalty: +:param frequency_penalty: +:param top_k: +:param image_config: Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. +:param modalities: Output modalities for the response. Supported values are \"text\" and \"image\". +:param prompt_cache_key: +:param previous_response_id: +:param prompt: +:param include: +:param background: +:param safety_identifier: +:param service_tier: +:param truncation: +:param stream: +:param provider: When multiple model providers are available, optionally indicate your routing preference. +:param plugins: Plugins you want to enable for this request, including their settings. +:param user: A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. +:param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. +:param trace: Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. +:param retries: Override the default retry configuration for this method +:param server_url: Override the default server URL for this method +:param timeout_ms: Override the default request timeout configuration for this method in milliseconds +:param accept_header_override: Override the default accept header for this method +:param http_headers: Additional headers to set or replace on requests. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `operations.CreateResponsesResponse` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseserrorfield.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseserrorfield.md new file mode 100644 index 000000000..fe7e86b4a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseserrorfield.md @@ -0,0 +1,25 @@ +# API Reference: responseserrorfield.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseserrorfield.py` + +--- + +## Classes + +### ResponsesErrorFieldTypedDict + +Error information returned from the API + +**Inherits from**: TypedDict + + + +### ResponsesErrorField + +Error information returned from the API + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattext.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattext.md new file mode 100644 index 000000000..71246fdfa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattext.md @@ -0,0 +1,25 @@ +# API Reference: responsesformattext.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesformattext.py` + +--- + +## Classes + +### ResponsesFormatTextTypedDict + +Plain text response format + +**Inherits from**: TypedDict + + + +### ResponsesFormatText + +Plain text response format + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattextjsonschemaconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattextjsonschemaconfig.md new file mode 100644 index 000000000..02a33bbd4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesformattextjsonschemaconfig.md @@ -0,0 +1,39 @@ +# API Reference: responsesformattextjsonschemaconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesformattextjsonschemaconfig.py` + +--- + +## Classes + +### ResponsesFormatTextJSONSchemaConfigTypedDict + +JSON schema constrained response format + +**Inherits from**: TypedDict + + + +### ResponsesFormatTextJSONSchemaConfig + +JSON schema constrained response format + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesimagegenerationcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesimagegenerationcall.md new file mode 100644 index 000000000..07523d70f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesimagegenerationcall.md @@ -0,0 +1,35 @@ +# API Reference: responsesimagegenerationcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesimagegenerationcall.py` + +--- + +## Classes + +### ResponsesImageGenerationCallTypedDict + +**Inherits from**: TypedDict + + + +### ResponsesImageGenerationCall + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfilesearchcall.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfilesearchcall.md new file mode 100644 index 000000000..cd7eab687 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfilesearchcall.md @@ -0,0 +1,21 @@ +# API Reference: responsesoutputitemfilesearchcall.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesoutputitemfilesearchcall.py` + +--- + +## Classes + +### ResponsesOutputItemFileSearchCallTypedDict + +**Inherits from**: TypedDict + + + +### ResponsesOutputItemFileSearchCall + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfunctioncall.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfunctioncall.md new file mode 100644 index 000000000..9deee9700 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemfunctioncall.md @@ -0,0 +1,21 @@ +# API Reference: responsesoutputitemfunctioncall.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesoutputitemfunctioncall.py` + +--- + +## Classes + +### ResponsesOutputItemFunctionCallTypedDict + +**Inherits from**: TypedDict + + + +### ResponsesOutputItemFunctionCall + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemreasoning.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemreasoning.md new file mode 100644 index 000000000..3c2295c98 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputitemreasoning.md @@ -0,0 +1,39 @@ +# API Reference: responsesoutputitemreasoning.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesoutputitemreasoning.py` + +--- + +## Classes + +### ResponsesOutputItemReasoningTypedDict + +An output item containing reasoning + +**Inherits from**: TypedDict + + + +### ResponsesOutputItemReasoning + +An output item containing reasoning + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputmessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputmessage.md new file mode 100644 index 000000000..c9336340d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsesoutputmessage.md @@ -0,0 +1,25 @@ +# API Reference: responsesoutputmessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsesoutputmessage.py` + +--- + +## Classes + +### ResponsesOutputMessageTypedDict + +An output message item + +**Inherits from**: TypedDict + + + +### ResponsesOutputMessage + +An output message item + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchcalloutput.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchcalloutput.md new file mode 100644 index 000000000..9d53b3e44 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchcalloutput.md @@ -0,0 +1,21 @@ +# API Reference: responseswebsearchcalloutput.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseswebsearchcalloutput.py` + +--- + +## Classes + +### ResponsesWebSearchCallOutputTypedDict + +**Inherits from**: TypedDict + + + +### ResponsesWebSearchCallOutput + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchuserlocation.md b/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchuserlocation.md new file mode 100644 index 000000000..ed0642de1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responseswebsearchuserlocation.md @@ -0,0 +1,39 @@ +# API Reference: responseswebsearchuserlocation.py + +**Language**: Python + +**Source**: `src/openrouter/components/responseswebsearchuserlocation.py` + +--- + +## Classes + +### ResponsesWebSearchUserLocationTypedDict + +User location information for web search + +**Inherits from**: TypedDict + + + +### ResponsesWebSearchUserLocation + +User location information for web search + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsetextconfig.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsetextconfig.md new file mode 100644 index 000000000..b57264c20 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsetextconfig.md @@ -0,0 +1,39 @@ +# API Reference: responsetextconfig.py + +**Language**: Python + +**Source**: `src/openrouter/components/responsetextconfig.py` + +--- + +## Classes + +### ResponseTextConfigTypedDict + +Text output configuration including format and verbosity + +**Inherits from**: TypedDict + + + +### ResponseTextConfig + +Text output configuration including format and verbosity + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/responsevalidationerror.md b/.github/skills/openrouter-python-sdk/references/api_reference/responsevalidationerror.md new file mode 100644 index 000000000..7dfd18678 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/responsevalidationerror.md @@ -0,0 +1,45 @@ +# API Reference: responsevalidationerror.py + +**Language**: Python + +**Source**: `src/openrouter/errors/responsevalidationerror.py` + +--- + +## Classes + +### ResponseValidationError + +Error raised when there is a type mismatch between the response data and the expected Pydantic model. + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, message: str, raw_response: httpx.Response, cause: Exception, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| message | str | - | - | +| raw_response | httpx.Response | - | - | +| cause | Exception | - | - | +| body | Optional[str] | None | - | + + +##### cause(self) + +Normally the Pydantic ValidationError + +**Decorators**: `@property` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/retries.md b/.github/skills/openrouter-python-sdk/references/api_reference/retries.md new file mode 100644 index 000000000..e47d57306 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/retries.md @@ -0,0 +1,228 @@ +# API Reference: retries.py + +**Language**: Python + +**Source**: `src/openrouter/utils/retries.py` + +--- + +## Classes + +### BackoffStrategy + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, initial_interval: int, max_interval: int, exponent: float, max_elapsed_time: int) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| initial_interval | int | - | - | +| max_interval | int | - | - | +| exponent | float | - | - | +| max_elapsed_time | int | - | - | + + + + +### RetryConfig + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, strategy: str, backoff: BackoffStrategy, retry_connection_errors: bool) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| strategy | str | - | - | +| backoff | BackoffStrategy | - | - | +| retry_connection_errors | bool | - | - | + + + + +### Retries + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, config: RetryConfig, status_codes: List[str]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| config | RetryConfig | - | - | +| status_codes | List[str] | - | - | + + + + +### TemporaryError + +**Inherits from**: Exception + +#### Methods + +##### __init__(self, response: httpx.Response) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| response | httpx.Response | - | - | + + + + +### PermanentError + +**Inherits from**: Exception + +#### Methods + +##### __init__(self, inner: Exception) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| inner | Exception | - | - | + + + + +## Functions + +### _parse_retry_after_header(response: httpx.Response) → Optional[int] + +Parse Retry-After header from response. + +Returns: + Retry interval in milliseconds, or None if header is missing or invalid. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| response | httpx.Response | - | - | + +**Returns**: `Optional[int]` + + + +### _get_sleep_interval(exception: Exception, initial_interval: int, max_interval: int, exponent: float, retries: int) → float + +Get sleep interval for retry with exponential backoff. + +Args: + exception: The exception that triggered the retry. + initial_interval: Initial retry interval in milliseconds. + max_interval: Maximum retry interval in milliseconds. + exponent: Base for exponential backoff calculation. + retries: Current retry attempt count. + +Returns: + Sleep interval in seconds. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| exception | Exception | - | - | +| initial_interval | int | - | - | +| max_interval | int | - | - | +| exponent | float | - | - | +| retries | int | - | - | + +**Returns**: `float` + + + +### retry(func, retries: Retries) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| func | None | - | - | +| retries | Retries | - | - | + +**Returns**: (none) + + + +### retry_async(func, retries: Retries) + +**Async function** + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| func | None | - | - | +| retries | Retries | - | - | + +**Returns**: (none) + + + +### retry_with_backoff(func, initial_interval = 500, max_interval = 60000, exponent = 1.5, max_elapsed_time = 3600000) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| func | None | - | - | +| initial_interval | None | 500 | - | +| max_interval | None | 60000 | - | +| exponent | None | 1.5 | - | +| max_elapsed_time | None | 3600000 | - | + +**Returns**: (none) + + + +### retry_with_backoff_async(func, initial_interval = 500, max_interval = 60000, exponent = 1.5, max_elapsed_time = 3600000) + +**Async function** + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| func | None | - | - | +| initial_interval | None | 500 | - | +| max_interval | None | 60000 | - | +| exponent | None | 1.5 | - | +| max_elapsed_time | None | 3600000 | - | + +**Returns**: (none) + + + +### do_request() → httpx.Response + +**Returns**: `httpx.Response` + + + +### do_request() → httpx.Response + +**Async function** + +**Returns**: `httpx.Response` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/sdk.md b/.github/skills/openrouter-python-sdk/references/api_reference/sdk.md new file mode 100644 index 000000000..8524a4de5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/sdk.md @@ -0,0 +1,127 @@ +# API Reference: sdk.py + +**Language**: Python + +**Source**: `src/openrouter/sdk.py` + +--- + +## Classes + +### OpenRouter + +OpenRouter API: OpenAI-compatible API with additional OpenRouter features +https://openrouter.ai/docs - OpenRouter Documentation + +**Inherits from**: BaseSDK + +#### Methods + +##### __init__(self, api_key: Optional[Union[Optional[str], Callable[[], Optional[str]]]] = None, http_referer: Optional[str] = None, x_title: Optional[str] = None, server: Optional[str] = None, server_url: Optional[str] = None, url_params: Optional[Dict[str, str]] = None, client: Optional[HttpClient] = None, async_client: Optional[AsyncHttpClient] = None, retry_config: OptionalNullable[RetryConfig] = UNSET, timeout_ms: Optional[int] = None, debug_logger: Optional[Logger] = None) → None + +Instantiates the SDK configuring it with the provided parameters. + +:param api_key: The api_key required for authentication +:param http_referer: Configures the http_referer parameter for all supported operations +:param x_title: Configures the x_title parameter for all supported operations +:param server: The server by name to use for all methods +:param server_url: The server URL to use for all methods +:param url_params: Parameters to optionally template the server URL with +:param client: The HTTP client to use for all synchronous methods +:param async_client: The Async HTTP client to use for all asynchronous methods +:param retry_config: The retry configuration to use for all supported methods +:param timeout_ms: Optional request timeout applied to each operation in milliseconds + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| api_key | Optional[Union[Optional[str], Callable[[], Optional[str]]]] | None | - | +| http_referer | Optional[str] | None | - | +| x_title | Optional[str] | None | - | +| server | Optional[str] | None | - | +| server_url | Optional[str] | None | - | +| url_params | Optional[Dict[str, str]] | None | - | +| client | Optional[HttpClient] | None | - | +| async_client | Optional[AsyncHttpClient] | None | - | +| retry_config | OptionalNullable[RetryConfig] | UNSET | - | +| timeout_ms | Optional[int] | None | - | +| debug_logger | Optional[Logger] | None | - | + +**Returns**: `None` + + +##### dynamic_import(self, modname, retries = 3) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| modname | None | - | - | +| retries | None | 3 | - | + + +##### __getattr__(self, name: str) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| name | str | - | - | + + +##### __dir__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __enter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __aenter__(self) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + + +##### __exit__(self, exc_type, exc_val, exc_tb) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| exc_type | None | - | - | +| exc_val | None | - | - | +| exc_tb | None | - | - | + + +##### __aexit__(self, exc_type, exc_val, exc_tb) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| exc_type | None | - | - | +| exc_val | None | - | - | +| exc_tb | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/sdkconfiguration.md b/.github/skills/openrouter-python-sdk/references/api_reference/sdkconfiguration.md new file mode 100644 index 000000000..228e5af30 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/sdkconfiguration.md @@ -0,0 +1,28 @@ +# API Reference: sdkconfiguration.py + +**Language**: Python + +**Source**: `src/openrouter/sdkconfiguration.py` + +--- + +## Classes + +### SDKConfiguration + +**Inherits from**: (none) + +#### Methods + +##### get_server_details(self) → Tuple[str, Dict[str, str]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `Tuple[str, Dict[str, str]]` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/sdkhooks.md b/.github/skills/openrouter-python-sdk/references/api_reference/sdkhooks.md new file mode 100644 index 000000000..f47850737 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/sdkhooks.md @@ -0,0 +1,128 @@ +# API Reference: sdkhooks.py + +**Language**: Python + +**Source**: `src/openrouter/_hooks/sdkhooks.py` + +--- + +## Classes + +### SDKHooks + +**Inherits from**: Hooks + +#### Methods + +##### __init__(self) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | + +**Returns**: `None` + + +##### register_sdk_init_hook(self, hook: SDKInitHook) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | SDKInitHook | - | - | + +**Returns**: `None` + + +##### register_before_request_hook(self, hook: BeforeRequestHook) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | BeforeRequestHook | - | - | + +**Returns**: `None` + + +##### register_after_success_hook(self, hook: AfterSuccessHook) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | AfterSuccessHook | - | - | + +**Returns**: `None` + + +##### register_after_error_hook(self, hook: AfterErrorHook) → None + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | AfterErrorHook | - | - | + +**Returns**: `None` + + +##### sdk_init(self, config: SDKConfiguration) → SDKConfiguration + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| config | SDKConfiguration | - | - | + +**Returns**: `SDKConfiguration` + + +##### before_request(self, hook_ctx: BeforeRequestContext, request: httpx.Request) → httpx.Request + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | BeforeRequestContext | - | - | +| request | httpx.Request | - | - | + +**Returns**: `httpx.Request` + + +##### after_success(self, hook_ctx: AfterSuccessContext, response: httpx.Response) → httpx.Response + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | AfterSuccessContext | - | - | +| response | httpx.Response | - | - | + +**Returns**: `httpx.Response` + + +##### after_error(self, hook_ctx: AfterErrorContext, response: Optional[httpx.Response], error: Optional[Exception]) → Tuple[Optional[httpx.Response], Optional[Exception]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | AfterErrorContext | - | - | +| response | Optional[httpx.Response] | - | - | +| error | Optional[Exception] | - | - | + +**Returns**: `Tuple[Optional[httpx.Response], Optional[Exception]]` + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/security.md b/.github/skills/openrouter-python-sdk/references/api_reference/security.md new file mode 100644 index 000000000..6965ab0f9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/security.md @@ -0,0 +1,106 @@ +# API Reference: security.py + +**Language**: Python + +**Source**: `src/openrouter/utils/security.py` + +--- + +## Functions + +### get_security(security: Any) → Tuple[Dict[str, str], Dict[str, List[str]]] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| security | Any | - | - | + +**Returns**: `Tuple[Dict[str, str], Dict[str, List[str]]]` + + + +### get_security_from_env(security: Any, security_class: Any) → Optional[BaseModel] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| security | Any | - | - | +| security_class | Any | - | - | + +**Returns**: `Optional[BaseModel]` + + + +### _parse_security_option(headers: Dict[str, str], query_params: Dict[str, List[str]], option: Any) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers | Dict[str, str] | - | - | +| query_params | Dict[str, List[str]] | - | - | +| option | Any | - | - | + +**Returns**: (none) + + + +### _parse_security_scheme(headers: Dict[str, str], query_params: Dict[str, List[str]], scheme_metadata: SecurityMetadata, field_name: str, scheme: Any) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers | Dict[str, str] | - | - | +| query_params | Dict[str, List[str]] | - | - | +| scheme_metadata | SecurityMetadata | - | - | +| field_name | str | - | - | +| scheme | Any | - | - | + +**Returns**: (none) + + + +### _parse_security_scheme_value(headers: Dict[str, str], query_params: Dict[str, List[str]], scheme_metadata: SecurityMetadata, security_metadata: SecurityMetadata, field_name: str, value: Any) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers | Dict[str, str] | - | - | +| query_params | Dict[str, List[str]] | - | - | +| scheme_metadata | SecurityMetadata | - | - | +| security_metadata | SecurityMetadata | - | - | +| field_name | str | - | - | +| value | Any | - | - | + +**Returns**: (none) + + + +### _apply_bearer(token: str) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| token | str | - | - | + +**Returns**: `str` + + + +### _parse_basic_auth_scheme(headers: Dict[str, str], scheme: Any) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| headers | Dict[str, str] | - | - | +| scheme | Any | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/sendchatcompletionrequest.md b/.github/skills/openrouter-python-sdk/references/api_reference/sendchatcompletionrequest.md new file mode 100644 index 000000000..0e73a1346 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/sendchatcompletionrequest.md @@ -0,0 +1,49 @@ +# API Reference: sendchatcompletionrequest.py + +**Language**: Python + +**Source**: `src/openrouter/operations/sendchatcompletionrequest.py` + +--- + +## Classes + +### SendChatCompletionRequestGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### SendChatCompletionRequestGlobals + +**Inherits from**: BaseModel + + + +### SendChatCompletionRequestRequestTypedDict + +**Inherits from**: TypedDict + + + +### SendChatCompletionRequestRequest + +**Inherits from**: BaseModel + + + +### SendChatCompletionRequestResponseBodyTypedDict + +Successful chat completion response + +**Inherits from**: TypedDict + + + +### SendChatCompletionRequestResponseBody + +Successful chat completion response + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/serializers.md b/.github/skills/openrouter-python-sdk/references/api_reference/serializers.md new file mode 100644 index 000000000..ea603c10e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/serializers.md @@ -0,0 +1,322 @@ +# API Reference: serializers.py + +**Language**: Python + +**Source**: `src/openrouter/utils/serializers.py` + +--- + +## Functions + +### serialize_decimal(as_str: bool) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| as_str | bool | - | - | + +**Returns**: (none) + + + +### validate_decimal(d) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| d | None | - | - | + +**Returns**: (none) + + + +### serialize_float(as_str: bool) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| as_str | bool | - | - | + +**Returns**: (none) + + + +### validate_float(f) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| f | None | - | - | + +**Returns**: (none) + + + +### serialize_int(as_str: bool) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| as_str | bool | - | - | + +**Returns**: (none) + + + +### validate_int(b) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| b | None | - | - | + +**Returns**: (none) + + + +### validate_open_enum(is_int: bool) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| is_int | bool | - | - | + +**Returns**: (none) + + + +### validate_const(v) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| v | None | - | - | + +**Returns**: (none) + + + +### unmarshal_json(raw, typ: Any) → Any + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| raw | None | - | - | +| typ | Any | - | - | + +**Returns**: `Any` + + + +### unmarshal(val, typ: Any) → Any + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| val | None | - | - | +| typ | Any | - | - | + +**Returns**: `Any` + + + +### marshal_json(val, typ) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| val | None | - | - | +| typ | None | - | - | + +**Returns**: (none) + + + +### is_nullable(field) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field | None | - | - | + +**Returns**: (none) + + + +### is_union(obj: object) → bool + +Returns True if the given object is a typing.Union or typing_extensions.Union. + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| obj | object | - | - | + +**Returns**: `bool` + + + +### stream_to_text(stream: httpx.Response) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| stream | httpx.Response | - | - | + +**Returns**: `str` + + + +### stream_to_text_async(stream: httpx.Response) → str + +**Async function** + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| stream | httpx.Response | - | - | + +**Returns**: `str` + + + +### stream_to_bytes(stream: httpx.Response) → bytes + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| stream | httpx.Response | - | - | + +**Returns**: `bytes` + + + +### stream_to_bytes_async(stream: httpx.Response) → bytes + +**Async function** + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| stream | httpx.Response | - | - | + +**Returns**: `bytes` + + + +### get_pydantic_model(data: Any, typ: Any) → Any + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| data | Any | - | - | +| typ | Any | - | - | + +**Returns**: `Any` + + + +### _contains_pydantic_model(data: Any) → bool + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| data | Any | - | - | + +**Returns**: `bool` + + + +### _get_typing_objects_by_name_of(name: str) → Tuple[Any, ...] + +Get typing objects by name from typing and typing_extensions. +Reference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| name | str | - | - | + +**Returns**: `Tuple[Any, ...]` + + + +### serialize(d) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| d | None | - | - | + +**Returns**: (none) + + + +### serialize(f) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| f | None | - | - | + +**Returns**: (none) + + + +### serialize(i) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| i | None | - | - | + +**Returns**: (none) + + + +### validate(e) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| e | None | - | - | + +**Returns**: (none) + + + +### validate(c) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| c | None | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponse_error.md new file mode 100644 index 000000000..c68657525 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: serviceunavailableresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/serviceunavailableresponse_error.py` + +--- + +## Classes + +### ServiceUnavailableResponseErrorData + +**Inherits from**: BaseModel + + + +### ServiceUnavailableResponseError + +Service Unavailable - Service temporarily unavailable + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: ServiceUnavailableResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | ServiceUnavailableResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponseerrordata.md new file mode 100644 index 000000000..c469ec004 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/serviceunavailableresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: serviceunavailableresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/serviceunavailableresponseerrordata.py` + +--- + +## Classes + +### ServiceUnavailableResponseErrorDataTypedDict + +Error data for ServiceUnavailableResponse + +**Inherits from**: TypedDict + + + +### ServiceUnavailableResponseErrorData + +Error data for ServiceUnavailableResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/systemmessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/systemmessage.md new file mode 100644 index 000000000..ac5c13169 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/systemmessage.md @@ -0,0 +1,25 @@ +# API Reference: systemmessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/systemmessage.py` + +--- + +## Classes + +### SystemMessageTypedDict + +System message for setting behavior + +**Inherits from**: TypedDict + + + +### SystemMessage + +System message for setting behavior + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/tooldefinitionjson.md b/.github/skills/openrouter-python-sdk/references/api_reference/tooldefinitionjson.md new file mode 100644 index 000000000..2c257d492 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/tooldefinitionjson.md @@ -0,0 +1,55 @@ +# API Reference: tooldefinitionjson.py + +**Language**: Python + +**Source**: `src/openrouter/components/tooldefinitionjson.py` + +--- + +## Classes + +### ToolDefinitionJSONFunctionTypedDict + +Function definition for tool calling + +**Inherits from**: TypedDict + + + +### ToolDefinitionJSONFunction + +Function definition for tool calling + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### ToolDefinitionJSONTypedDict + +Tool definition for function calling + +**Inherits from**: TypedDict + + + +### ToolDefinitionJSON + +Tool definition for function calling + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/toolresponsemessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/toolresponsemessage.md new file mode 100644 index 000000000..d867188aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/toolresponsemessage.md @@ -0,0 +1,25 @@ +# API Reference: toolresponsemessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/toolresponsemessage.py` + +--- + +## Classes + +### ToolResponseMessageTypedDict + +Tool response message + +**Inherits from**: TypedDict + + + +### ToolResponseMessage + +Tool response message + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponse_error.md new file mode 100644 index 000000000..bc256124e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: toomanyrequestsresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/toomanyrequestsresponse_error.py` + +--- + +## Classes + +### TooManyRequestsResponseErrorData + +**Inherits from**: BaseModel + + + +### TooManyRequestsResponseError + +Too Many Requests - Rate limit exceeded + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: TooManyRequestsResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | TooManyRequestsResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponseerrordata.md new file mode 100644 index 000000000..b1fad760a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/toomanyrequestsresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: toomanyrequestsresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/toomanyrequestsresponseerrordata.py` + +--- + +## Classes + +### TooManyRequestsResponseErrorDataTypedDict + +Error data for TooManyRequestsResponse + +**Inherits from**: TypedDict + + + +### TooManyRequestsResponseErrorData + +Error data for TooManyRequestsResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/topproviderinfo.md b/.github/skills/openrouter-python-sdk/references/api_reference/topproviderinfo.md new file mode 100644 index 000000000..4a2beb2a0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/topproviderinfo.md @@ -0,0 +1,39 @@ +# API Reference: topproviderinfo.py + +**Language**: Python + +**Source**: `src/openrouter/components/topproviderinfo.py` + +--- + +## Classes + +### TopProviderInfoTypedDict + +Information about the top provider for this model + +**Inherits from**: TypedDict + + + +### TopProviderInfo + +Information about the top provider for this model + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/types.md b/.github/skills/openrouter-python-sdk/references/api_reference/types.md new file mode 100644 index 000000000..28d9b4d14 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/types.md @@ -0,0 +1,233 @@ +# API Reference: types.py + +**Language**: Python + +**Source**: `src/openrouter/_hooks/types.py` + +--- + +## Classes + +### HookContext + +**Inherits from**: (none) + +#### Methods + +##### __init__(self, config: SDKConfiguration, base_url: str, operation_id: str, oauth2_scopes: Optional[List[str]], security_source: Optional[Union[Any, Callable[[], Any]]]) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| config | SDKConfiguration | - | - | +| base_url | str | - | - | +| operation_id | str | - | - | +| oauth2_scopes | Optional[List[str]] | - | - | +| security_source | Optional[Union[Any, Callable[[], Any]]] | - | - | + + + + +### BeforeRequestContext + +**Inherits from**: HookContext + +#### Methods + +##### __init__(self, hook_ctx: HookContext) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | HookContext | - | - | + + + + +### AfterSuccessContext + +**Inherits from**: HookContext + +#### Methods + +##### __init__(self, hook_ctx: HookContext) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | HookContext | - | - | + + + + +### AfterErrorContext + +**Inherits from**: HookContext + +#### Methods + +##### __init__(self, hook_ctx: HookContext) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | HookContext | - | - | + + + + +### SDKInitHook + +**Inherits from**: ABC + +#### Methods + +##### sdk_init(self, config: SDKConfiguration) → SDKConfiguration + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| config | SDKConfiguration | - | - | + +**Returns**: `SDKConfiguration` + + + + +### BeforeRequestHook + +**Inherits from**: ABC + +#### Methods + +##### before_request(self, hook_ctx: BeforeRequestContext, request: httpx.Request) → Union[httpx.Request, Exception] + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | BeforeRequestContext | - | - | +| request | httpx.Request | - | - | + +**Returns**: `Union[httpx.Request, Exception]` + + + + +### AfterSuccessHook + +**Inherits from**: ABC + +#### Methods + +##### after_success(self, hook_ctx: AfterSuccessContext, response: httpx.Response) → Union[httpx.Response, Exception] + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | AfterSuccessContext | - | - | +| response | httpx.Response | - | - | + +**Returns**: `Union[httpx.Response, Exception]` + + + + +### AfterErrorHook + +**Inherits from**: ABC + +#### Methods + +##### after_error(self, hook_ctx: AfterErrorContext, response: Optional[httpx.Response], error: Optional[Exception]) → Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception] + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook_ctx | AfterErrorContext | - | - | +| response | Optional[httpx.Response] | - | - | +| error | Optional[Exception] | - | - | + +**Returns**: `Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]` + + + + +### Hooks + +**Inherits from**: ABC + +#### Methods + +##### register_sdk_init_hook(self, hook: SDKInitHook) + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | SDKInitHook | - | - | + + +##### register_before_request_hook(self, hook: BeforeRequestHook) + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | BeforeRequestHook | - | - | + + +##### register_after_success_hook(self, hook: AfterSuccessHook) + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | AfterSuccessHook | - | - | + + +##### register_after_error_hook(self, hook: AfterErrorHook) + +**Decorators**: `@abstractmethod` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| hook | AfterErrorHook | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponse_error.md new file mode 100644 index 000000000..08aadc00a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: unauthorizedresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/unauthorizedresponse_error.py` + +--- + +## Classes + +### UnauthorizedResponseErrorData + +**Inherits from**: BaseModel + + + +### UnauthorizedResponseError + +Unauthorized - Authentication required or invalid credentials + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: UnauthorizedResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | UnauthorizedResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponseerrordata.md new file mode 100644 index 000000000..02a637c41 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/unauthorizedresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: unauthorizedresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/unauthorizedresponseerrordata.py` + +--- + +## Classes + +### UnauthorizedResponseErrorDataTypedDict + +Error data for UnauthorizedResponse + +**Inherits from**: TypedDict + + + +### UnauthorizedResponseErrorData + +Error data for UnauthorizedResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/unmarshal_json_response.md b/.github/skills/openrouter-python-sdk/references/api_reference/unmarshal_json_response.md new file mode 100644 index 000000000..fafd2a730 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/unmarshal_json_response.md @@ -0,0 +1,51 @@ +# API Reference: unmarshal_json_response.py + +**Language**: Python + +**Source**: `src/openrouter/utils/unmarshal_json_response.py` + +--- + +## Functions + +### unmarshal_json_response(typ: Type[T], http_res: httpx.Response, body: Optional[str] = None) → T + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| typ | Type[T] | - | - | +| http_res | httpx.Response | - | - | +| body | Optional[str] | None | - | + +**Returns**: `T` + + + +### unmarshal_json_response(typ: Any, http_res: httpx.Response, body: Optional[str] = None) → Any + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| typ | Any | - | - | +| http_res | httpx.Response | - | - | +| body | Optional[str] | None | - | + +**Returns**: `Any` + + + +### unmarshal_json_response(typ: Any, http_res: httpx.Response, body: Optional[str] = None) → Any + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| typ | Any | - | - | +| http_res | httpx.Response | - | - | +| body | Optional[str] | None | - | + +**Returns**: `Any` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponse_error.md b/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponse_error.md new file mode 100644 index 000000000..c055ae4e8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponse_error.md @@ -0,0 +1,37 @@ +# API Reference: unprocessableentityresponse_error.py + +**Language**: Python + +**Source**: `src/openrouter/errors/unprocessableentityresponse_error.py` + +--- + +## Classes + +### UnprocessableEntityResponseErrorData + +**Inherits from**: BaseModel + + + +### UnprocessableEntityResponseError + +Unprocessable Entity - Semantic validation failure + +**Inherits from**: OpenRouterError + +#### Methods + +##### __init__(self, data: UnprocessableEntityResponseErrorData, raw_response: httpx.Response, body: Optional[str] = None) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| data | UnprocessableEntityResponseErrorData | - | - | +| raw_response | httpx.Response | - | - | +| body | Optional[str] | None | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponseerrordata.md new file mode 100644 index 000000000..0e6cc8385 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/unprocessableentityresponseerrordata.md @@ -0,0 +1,39 @@ +# API Reference: unprocessableentityresponseerrordata.py + +**Language**: Python + +**Source**: `src/openrouter/components/unprocessableentityresponseerrordata.py` + +--- + +## Classes + +### UnprocessableEntityResponseErrorDataTypedDict + +Error data for UnprocessableEntityResponse + +**Inherits from**: TypedDict + + + +### UnprocessableEntityResponseErrorData + +Error data for UnprocessableEntityResponse + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/updateguardrail.md b/.github/skills/openrouter-python-sdk/references/api_reference/updateguardrail.md new file mode 100644 index 000000000..f206f0936 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/updateguardrail.md @@ -0,0 +1,105 @@ +# API Reference: updateguardrail.py + +**Language**: Python + +**Source**: `src/openrouter/operations/updateguardrail.py` + +--- + +## Classes + +### UpdateGuardrailGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### UpdateGuardrailGlobals + +**Inherits from**: BaseModel + + + +### UpdateGuardrailRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### UpdateGuardrailRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### UpdateGuardrailRequestTypedDict + +**Inherits from**: TypedDict + + + +### UpdateGuardrailRequest + +**Inherits from**: BaseModel + + + +### UpdateGuardrailDataTypedDict + +The updated guardrail + +**Inherits from**: TypedDict + + + +### UpdateGuardrailData + +The updated guardrail + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### UpdateGuardrailResponseTypedDict + +Guardrail updated successfully + +**Inherits from**: TypedDict + + + +### UpdateGuardrailResponse + +Guardrail updated successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/updatekeys.md b/.github/skills/openrouter-python-sdk/references/api_reference/updatekeys.md new file mode 100644 index 000000000..39fb1d913 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/updatekeys.md @@ -0,0 +1,105 @@ +# API Reference: updatekeys.py + +**Language**: Python + +**Source**: `src/openrouter/operations/updatekeys.py` + +--- + +## Classes + +### UpdateKeysGlobalsTypedDict + +**Inherits from**: TypedDict + + + +### UpdateKeysGlobals + +**Inherits from**: BaseModel + + + +### UpdateKeysRequestBodyTypedDict + +**Inherits from**: TypedDict + + + +### UpdateKeysRequestBody + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### UpdateKeysRequestTypedDict + +**Inherits from**: TypedDict + + + +### UpdateKeysRequest + +**Inherits from**: BaseModel + + + +### UpdateKeysDataTypedDict + +The updated API key information + +**Inherits from**: TypedDict + + + +### UpdateKeysData + +The updated API key information + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + + +### UpdateKeysResponseTypedDict + +API key updated successfully + +**Inherits from**: TypedDict + + + +### UpdateKeysResponse + +API key updated successfully + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/url.md b/.github/skills/openrouter-python-sdk/references/api_reference/url.md new file mode 100644 index 000000000..307770d32 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/url.md @@ -0,0 +1,77 @@ +# API Reference: url.py + +**Language**: Python + +**Source**: `src/openrouter/utils/url.py` + +--- + +## Functions + +### generate_url(server_url: str, path: str, path_params: Any, gbls: Optional[Any] = None) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| server_url | str | - | - | +| path | str | - | - | +| path_params | Any | - | - | +| gbls | Optional[Any] | None | - | + +**Returns**: `str` + + + +### _populate_path_params(path_params: Any, gbls: Any, path_param_values: Dict[str, str], skip_fields: List[str]) → List[str] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| path_params | Any | - | - | +| gbls | Any | - | - | +| path_param_values | Dict[str, str] | - | - | +| skip_fields | List[str] | - | - | + +**Returns**: `List[str]` + + + +### is_optional(field) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| field | None | - | - | + +**Returns**: (none) + + + +### template_url(url_with_params: str, params: Dict[str, str]) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| url_with_params | str | - | - | +| params | Dict[str, str] | - | - | + +**Returns**: `str` + + + +### remove_suffix(input_string, suffix) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| input_string | None | - | - | +| suffix | None | - | - | + +**Returns**: (none) + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/urlcitation.md b/.github/skills/openrouter-python-sdk/references/api_reference/urlcitation.md new file mode 100644 index 000000000..61c8f51e5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/urlcitation.md @@ -0,0 +1,21 @@ +# API Reference: urlcitation.py + +**Language**: Python + +**Source**: `src/openrouter/components/urlcitation.py` + +--- + +## Classes + +### URLCitationTypedDict + +**Inherits from**: TypedDict + + + +### URLCitation + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/usermessage.md b/.github/skills/openrouter-python-sdk/references/api_reference/usermessage.md new file mode 100644 index 000000000..f8af42cc5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/usermessage.md @@ -0,0 +1,25 @@ +# API Reference: usermessage.py + +**Language**: Python + +**Source**: `src/openrouter/components/usermessage.py` + +--- + +## Classes + +### UserMessageTypedDict + +User message + +**Inherits from**: TypedDict + + + +### UserMessage + +User message + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/values.md b/.github/skills/openrouter-python-sdk/references/api_reference/values.md new file mode 100644 index 000000000..7ae21c40d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/values.md @@ -0,0 +1,129 @@ +# API Reference: values.py + +**Language**: Python + +**Source**: `src/openrouter/utils/values.py` + +--- + +## Functions + +### match_content_type(content_type: str, pattern: str) → bool + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| content_type | str | - | - | +| pattern | str | - | - | + +**Returns**: `bool` + + + +### match_status_codes(status_codes: List[str], status_code: int) → bool + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| status_codes | List[str] | - | - | +| status_code | int | - | - | + +**Returns**: `bool` + + + +### cast_partial(typ) + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| typ | None | - | - | + +**Returns**: (none) + + + +### get_global_from_env(value: Optional[T], env_key: str, type_cast: Callable[[str], T]) → Optional[T] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| value | Optional[T] | - | - | +| env_key | str | - | - | +| type_cast | Callable[[str], T] | - | - | + +**Returns**: `Optional[T]` + + + +### match_response(response: Response, code: Union[str, List[str]], content_type: str) → bool + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| response | Response | - | - | +| code | Union[str, List[str]] | - | - | +| content_type | str | - | - | + +**Returns**: `bool` + + + +### _populate_from_globals(param_name: str, value: Any, param_metadata_type: type, gbls: Any) → Tuple[Any, bool] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| param_name | str | - | - | +| value | Any | - | - | +| param_metadata_type | type | - | - | +| gbls | Any | - | - | + +**Returns**: `Tuple[Any, bool]` + + + +### _val_to_string(val) → str + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| val | None | - | - | + +**Returns**: `str` + + + +### _get_serialized_params(metadata: ParamMetadata, field_name: str, obj: Any, typ: type) → Dict[str, str] + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| metadata | ParamMetadata | - | - | +| field_name | str | - | - | +| obj | Any | - | - | +| typ | type | - | - | + +**Returns**: `Dict[str, str]` + + + +### _is_set(value: Any) → bool + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| value | Any | - | - | + +**Returns**: `bool` + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/videoinput.md b/.github/skills/openrouter-python-sdk/references/api_reference/videoinput.md new file mode 100644 index 000000000..5bbbfc744 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/videoinput.md @@ -0,0 +1,25 @@ +# API Reference: videoinput.py + +**Language**: Python + +**Source**: `src/openrouter/components/videoinput.py` + +--- + +## Classes + +### VideoInputTypedDict + +Video input object + +**Inherits from**: TypedDict + + + +### VideoInput + +Video input object + +**Inherits from**: BaseModel + + diff --git a/.github/skills/openrouter-python-sdk/references/api_reference/websearchpreviewtooluserlocation.md b/.github/skills/openrouter-python-sdk/references/api_reference/websearchpreviewtooluserlocation.md new file mode 100644 index 000000000..4de990bbe --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/api_reference/websearchpreviewtooluserlocation.md @@ -0,0 +1,35 @@ +# API Reference: websearchpreviewtooluserlocation.py + +**Language**: Python + +**Source**: `src/openrouter/components/websearchpreviewtooluserlocation.py` + +--- + +## Classes + +### WebSearchPreviewToolUserLocationTypedDict + +**Inherits from**: TypedDict + + + +### WebSearchPreviewToolUserLocation + +**Inherits from**: BaseModel + +#### Methods + +##### serialize_model(self, handler) + +**Decorators**: `@model_serializer(mode='wrap')` + +**Parameters**: + +| Name | Type | Default | Description | +|------|------|---------|-------------| +| self | None | - | - | +| handler | None | - | - | + + + diff --git a/.github/skills/openrouter-python-sdk/references/architecture/architectural_patterns.json b/.github/skills/openrouter-python-sdk/references/architecture/architectural_patterns.json new file mode 100644 index 000000000..577b148c7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/architecture/architectural_patterns.json @@ -0,0 +1,70 @@ +{ + "patterns": [ + { + "pattern_name": "Service Layer Pattern", + "confidence": 0.75, + "evidence": [ + "Service layer: 3 service classes", + "Services encapsulate business logic" + ], + "components": { + "Services": [ + "src/openrouter/components/openairesponsesservicetier.py", + "src/openrouter/components/serviceunavailableresponseerrordata.py", + "src/openrouter/errors/serviceunavailableresponse_error.py" + ] + }, + "framework": null, + "description": "Encapsulates business logic in service classes" + } + ], + "directory_structure": { + ".speakeasy": 10, + "scripts": 3, + ".devcontainer": 3, + "examples": 1, + ".git": 25, + "assets": 2, + ".claude": 1, + ".vscode": 1, + ".github": 3, + "workflows": 3, + "docs": 677, + "errors": 33, + "operations": 211, + "components": 637, + "internal": 3, + "utils": 20, + "embeddings": 1, + "apikeys": 1, + "guardrails": 1, + "credits": 1, + "providers": 1, + "analytics": 1, + "endpoints": 1, + "responses": 1, + "models": 2, + "chat": 1, + "generations": 1, + "oauth": 1, + "hooks": 12, + "info": 1, + "logs": 1, + "heads": 2, + "origin": 2, + "pack": 2, + "src": 267, + "openrouter": 20, + "types": 3, + "_hooks": 4, + "overlays": 3 + }, + "total_files_analyzed": 268, + "frameworks_detected": [ + "ASP.NET", + "Rails", + "React", + "Vue.js" + ], + "ai_analysis": {} +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.json b/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.json new file mode 100644 index 000000000..97d416806 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.json @@ -0,0 +1,93483 @@ +{ + "total_files": 15, + "total_settings": 10570, + "detected_patterns": {}, + "config_files": [ + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/pyproject.toml", + "relative_path": "pyproject.toml", + "type": "toml", + "purpose": "package_configuration", + "patterns": [], + "settings_count": 22, + "settings": [ + { + "key": "project.name", + "value": "openrouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.version", + "value": "0.7.11", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.description", + "value": "Official Python Client SDK for OpenRouter.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.authors", + "value": [ + { + "name": "OpenRouter" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "project.readme", + "value": "README-PYPI.md", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.requires-python", + "value": ">=3.9.2", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.dependencies", + "value": [ + "httpcore >=1.0.9", + "httpx >=0.28.1", + "pydantic >=2.11.2" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "project.urls.repository", + "value": "https://github.com/OpenRouterTeam/python-sdk.git", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "project.license.text", + "value": "Apache-2.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "dependency-groups.dev", + "value": [ + "mypy ==1.15.0", + "pylint ==3.2.3", + "pyright ==1.1.398" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tool.setuptools.packages.find.where", + "value": [ + "src" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tool.setuptools.package-data.*", + "value": [ + "py.typed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tool.pytest.ini_options.asyncio_default_fixture_loop_scope", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "tool.pytest.ini_options.pythonpath", + "value": [ + "src" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tool.mypy.disable_error_code", + "value": "misc", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "tool.mypy.explicit_package_bases", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "tool.mypy.mypy_path", + "value": "src", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "tool.mypy.overrides", + "value": [ + { + "module": "typing_inspect", + "ignore_missing_imports": true + }, + { + "module": "jsonpath", + "ignore_missing_imports": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tool.pyright.venvPath", + "value": ".", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "tool.pyright.venv", + "value": ".venv", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "build-system.requires", + "value": [ + "setuptools>=80", + "wheel" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "build-system.build-backend", + "value": "setuptools.build_meta", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/in.openapi.yaml", + "relative_path": ".speakeasy/in.openapi.yaml", + "type": "yaml", + "purpose": "api_configuration", + "patterns": [], + "settings_count": 5156, + "settings": [ + { + "key": "openapi", + "value": "3.1.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.title", + "value": "OpenRouter API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.version", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.description", + "value": "OpenAI-compatible API with additional OpenRouter features", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.name", + "value": "OpenRouter Support", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.email", + "value": "support@openrouter.ai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.license.name", + "value": "MIT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.license.url", + "value": "https://opensource.org/licenses/MIT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "servers", + "value": [ + { + "url": "https://openrouter.ai/api/v1", + "description": "Production server", + "x-speakeasy-server-id": "production" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "security", + "value": [ + { + "apiKey": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "externalDocs.description", + "value": "OpenRouter Documentation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "externalDocs.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesResponseStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesResponseStatus.enum", + "value": [ + "completed", + "incomplete", + "in_progress", + "failed", + "cancelled", + "queued" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.type.enum", + "value": [ + "file_citation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.filename.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.required", + "value": [ + "type", + "file_id", + "filename", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.type", + "value": "file_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.file_id", + "value": "file-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.filename", + "value": "research_paper.pdf", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.type.enum", + "value": [ + "url_citation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.title.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.start_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.end_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.required", + "value": [ + "type", + "url", + "title", + "start_index", + "end_index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.type", + "value": "url_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.start_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.end_index", + "value": 42, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.title", + "value": "OpenRouter Documentation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.type.enum", + "value": [ + "file_path" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.required", + "value": [ + "type", + "file_id", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.type", + "value": "file_path", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.file_id", + "value": "file-xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesAnnotation.anyOf", + "value": [ + { + "$ref": "#/components/schemas/FileCitation" + }, + { + "$ref": "#/components/schemas/URLCitation" + }, + { + "$ref": "#/components/schemas/FilePath" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.type.enum", + "value": [ + "output_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.annotations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.annotations.items.$ref", + "value": "#/components/schemas/OpenAIResponsesAnnotation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.required", + "value": [ + "token", + "bytes", + "logprob" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.required", + "value": [ + "token", + "bytes", + "logprob", + "top_logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.text", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.annotations", + "value": [ + { + "type": "url_citation", + "start_index": 0, + "end_index": 42, + "title": "Paris - Wikipedia", + "url": "https://en.wikipedia.org/wiki/Paris" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.type.enum", + "value": [ + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.required", + "value": [ + "type", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.example.type", + "value": "refusal", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.example.refusal", + "value": "I'm sorry, I cannot assist with that request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.content.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.required", + "value": [ + "id", + "role", + "type", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.id", + "value": "msg-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.id", + "value": "msg-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.description", + "value": "An output message item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.type.enum", + "value": [ + "reasoning_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.example.type", + "value": "reasoning_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.example.text", + "value": "Let me think step by step about this problem...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.type.enum", + "value": [ + "summary_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.example.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.example.text", + "value": "Analyzed the problem using first principles", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.type.enum", + "value": [ + "reasoning" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.content.items.$ref", + "value": "#/components/schemas/ReasoningTextContent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.summary.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.summary.items.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.encrypted_content.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.encrypted_content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.required", + "value": [ + "type", + "id", + "summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.id", + "value": "reasoning-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Analyzed the problem using first principles" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/ReasoningTextContent" + } + }, + "signature": { + "type": "string", + "nullable": true, + "description": "A signature for the reasoning content, used for verification", + "example": "EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj..." + }, + "format": { + "type": "string", + "nullable": true, + "enum": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "description": "The format of the reasoning content", + "example": "anthropic-claude-v1" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.id", + "value": "reasoning-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Analyzed the problem and found the optimal solution." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.content", + "value": [ + { + "type": "reasoning_text", + "text": "First, we analyze the problem..." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.signature", + "value": "EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.format", + "value": "anthropic-claude-v1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.description", + "value": "An output item containing reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.type.enum", + "value": [ + "function_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.required", + "value": [ + "type", + "name", + "arguments", + "call_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.arguments", + "value": "{\"location\":\"San Francisco\",\"unit\":\"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.arguments", + "value": "{\"location\":\"San Francisco\",\"unit\":\"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.enum", + "value": [ + "completed", + "searching", + "in_progress", + "failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.type.enum", + "value": [ + "web_search_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.status.$ref", + "value": "#/components/schemas/WebSearchStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.required", + "value": [ + "type", + "id", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.type", + "value": "web_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.id", + "value": "search-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.type", + "value": "web_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.id", + "value": "search-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.type.enum", + "value": [ + "file_search_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.queries.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.queries.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.status.$ref", + "value": "#/components/schemas/WebSearchStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.required", + "value": [ + "type", + "id", + "queries", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.type", + "value": "file_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.id", + "value": "filesearch-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.queries", + "value": [ + "machine learning algorithms", + "neural networks" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.type", + "value": "file_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.id", + "value": "filesearch-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.queries", + "value": [ + "machine learning algorithms", + "neural networks" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.enum", + "value": [ + "in_progress", + "completed", + "generating", + "failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.type.enum", + "value": [ + "image_generation_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.default", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.status.$ref", + "value": "#/components/schemas/ImageGenerationStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.required", + "value": [ + "type", + "id", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.type", + "value": "image_generation_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.id", + "value": "imagegen-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.result", + "value": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.type", + "value": "image_generation_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.id", + "value": "imagegen-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.result", + "value": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponsesOutputMessage" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemReasoning" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/ResponsesWebSearchCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/ResponsesImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.description", + "value": "An output item from the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.id", + "value": "msg-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.code.enum", + "value": [ + "server_error", + "rate_limit_exceeded", + "invalid_prompt", + "vector_store_timeout", + "invalid_image", + "invalid_image_format", + "invalid_base64_image", + "invalid_image_url", + "image_too_large", + "image_too_small", + "image_parse_error", + "image_content_policy_violation", + "invalid_image_mode", + "image_file_too_large", + "unsupported_image_media_type", + "empty_image_file", + "failed_to_download_image", + "image_file_not_found" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.description", + "value": "Error information returned from the API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.properties.reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.properties.reason.enum", + "value": [ + "max_output_tokens", + "content_filter" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.properties.cached_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.required", + "value": [ + "cached_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.required", + "value": [ + "reasoning_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.required", + "value": [ + "input_tokens", + "input_tokens_details", + "output_tokens", + "output_tokens_details", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesUsage" + }, + { + "type": "object", + "nullable": true, + "properties": { + "cost": { + "type": "number", + "nullable": true, + "description": "Cost of the completion" + }, + "is_byok": { + "type": "boolean", + "description": "Whether a request was made using a Bring Your Own Key configuration" + }, + "cost_details": { + "type": "object", + "properties": { + "upstream_inference_cost": { + "type": "number", + "nullable": true + }, + "upstream_inference_input_cost": { + "type": "number" + }, + "upstream_inference_output_cost": { + "type": "number" + } + }, + "required": [ + "upstream_inference_input_cost", + "upstream_inference_output_cost" + ] + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.description", + "value": "Token usage information for the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.input_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.output_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.total_tokens", + "value": 35, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.input_tokens_details.cached_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.output_tokens_details.reasoning_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost", + "value": 0.0012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_cost", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_input_cost", + "value": 0.0008, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_output_cost", + "value": 0.0004, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.type.enum", + "value": [ + "input_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.description", + "value": "Text input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.example.type", + "value": "input_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.example.text", + "value": "Hello, how can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.type.enum", + "value": [ + "input_image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.detail.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.detail.enum", + "value": [ + "auto", + "high", + "low" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.image_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.image_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.required", + "value": [ + "type", + "detail" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.description", + "value": "Image input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.type", + "value": "input_image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.detail", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.image_url", + "value": "https://example.com/image.jpg", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.type.enum", + "value": [ + "input_file" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.filename.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.description", + "value": "File input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.type", + "value": "input_file", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.file_id", + "value": "file-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.filename", + "value": "document.pdf", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.type.enum", + "value": [ + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.format.enum", + "value": [ + "mp3", + "wav" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.required", + "value": [ + "data", + "format" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.required", + "value": [ + "type", + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.description", + "value": "Audio input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.type", + "value": "input_audio", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.input_audio.data", + "value": "SGVsbG8gV29ybGQ=", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.input_audio.format", + "value": "mp3", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.enum", + "value": [ + "in_progress", + "completed", + "incomplete" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesInput.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "anyOf": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "assistant" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ] + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_text": "#/components/schemas/ResponseInputText", + "input_image": "#/components/schemas/ResponseInputImage", + "input_file": "#/components/schemas/ResponseInputFile", + "input_audio": "#/components/schemas/ResponseInputAudio" + } + } + } + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "role", + "content" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "anyOf": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ] + }, + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_text": "#/components/schemas/ResponseInputText", + "input_image": "#/components/schemas/ResponseInputImage", + "input_file": "#/components/schemas/ResponseInputFile", + "input_audio": "#/components/schemas/ResponseInputAudio" + } + } + } + } + }, + "required": [ + "id", + "role", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function_call_output" + ] + }, + "id": { + "type": "string", + "nullable": true + }, + "call_id": { + "type": "string" + }, + "output": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/ToolCallStatus" + } + }, + "required": [ + "type", + "call_id", + "output" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function_call" + ] + }, + "call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "arguments": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/ToolCallStatus" + } + }, + "required": [ + "type", + "call_id", + "name", + "arguments" + ] + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + }, + { + "$ref": "#/components/schemas/OutputMessage" + } + ] + } + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.additionalProperties.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.additionalProperties.maxLength", + "value": 512, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.description", + "value": "Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.example.user_id", + "value": "123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.example.session_id", + "value": "abc-def-ghi", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.required", + "value": [ + "type", + "name", + "parameters" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.description", + "value": "Function tool definition", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.description", + "value": "Get the current weather in a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.location.description", + "value": "The city and state", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.unit.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.unit.enum", + "value": [ + "celsius", + "fahrenheit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.enum", + "value": [ + "low", + "medium", + "high" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.description", + "value": "Size of the search context for web search tools", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.type.enum", + "value": [ + "approximate" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.city.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.city.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.country.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.country.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.region.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.region.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.timezone.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.timezone.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.type.enum", + "value": [ + "web_search_preview" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.user_location.$ref", + "value": "#/components/schemas/WebSearchPreviewToolUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.description", + "value": "Web search preview tool configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.example.type", + "value": "web_search_preview", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.type.enum", + "value": [ + "web_search_preview_2025_03_11" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.user_location.$ref", + "value": "#/components/schemas/WebSearchPreviewToolUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.description", + "value": "Web search preview tool configuration (2025-03-11 version)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.example.type", + "value": "web_search_preview_2025_03_11", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.type.enum", + "value": [ + "approximate" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.city.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.city.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.country.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.country.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.region.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.region.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.timezone.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.timezone.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.description", + "value": "User location information for web search", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.type", + "value": "approximate", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.city", + "value": "San Francisco", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.country", + "value": "USA", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.region", + "value": "California", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.timezone", + "value": "America/Los_Angeles", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.type.enum", + "value": [ + "web_search" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.user_location.$ref", + "value": "#/components/schemas/ResponsesWebSearchUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.description", + "value": "Web search tool configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.example.type", + "value": "web_search", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.example.filters.allowed_domains", + "value": [ + "example.com" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.type.enum", + "value": [ + "web_search_2025_08_26" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.user_location.$ref", + "value": "#/components/schemas/ResponsesWebSearchUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.description", + "value": "Web search tool configuration (2025-08-26 version)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.example.type", + "value": "web_search_2025_08_26", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.example.filters.allowed_domains", + "value": [ + "example.com" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesToolChoice.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "auto" + ] + }, + { + "type": "string", + "enum": [ + "none" + ] + }, + { + "type": "string", + "enum": [ + "required" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "anyOf": [ + { + "type": "string", + "enum": [ + "web_search_preview_2025_03_11" + ] + }, + { + "type": "string", + "enum": [ + "web_search_preview" + ] + } + ] + } + }, + "required": [ + "type" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.required", + "value": [ + "id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.enum", + "value": [ + "xhigh", + "high", + "medium", + "low", + "minimal", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.enum", + "value": [ + "auto", + "concise", + "detailed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.example", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.properties.effort.$ref", + "value": "#/components/schemas/OpenAIResponsesReasoningEffort", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.properties.summary.$ref", + "value": "#/components/schemas/ReasoningSummaryVerbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.enum", + "value": [ + "auto", + "default", + "flex", + "priority", + "scale" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.enum", + "value": [ + "auto", + "disabled" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.description", + "value": "Plain text response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.type.enum", + "value": [ + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.schema.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.required", + "value": [ + "type", + "name", + "schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.description", + "value": "JSON schema constrained response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.type", + "value": "json_schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.name", + "value": "user_info", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.description", + "value": "User information schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.properties.age.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponsesFormatText" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONObject" + }, + { + "$ref": "#/components/schemas/ResponsesFormatTextJSONSchemaConfig" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.description", + "value": "Text response format configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.format.$ref", + "value": "#/components/schemas/ResponseFormatTextConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.enum", + "value": [ + "high", + "low", + "medium" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.description", + "value": "Text output configuration including format and verbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.example.format.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.example.verbosity", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.object.enum", + "value": [ + "response" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.created_at.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.status.$ref", + "value": "#/components/schemas/OpenAIResponsesResponseStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.completed_at.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.completed_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.user.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output_text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt_cache_key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt_cache_key.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.safety_identifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.safety_identifier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.error.$ref", + "value": "#/components/schemas/ResponsesErrorField", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.incomplete_details.$ref", + "value": "#/components/schemas/OpenAIResponsesIncompleteDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.usage.$ref", + "value": "#/components/schemas/OpenAIResponsesUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_tool_calls.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_logprobs.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_output_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.instructions.$ref", + "value": "#/components/schemas/OpenAIResponsesInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.metadata.$ref", + "value": "#/components/schemas/OpenResponsesRequestMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tools.items.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionTool" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Function tool definition", + "example": { + "type": "function", + "name": "get_weather", + "description": "Get the current weather in a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state" + }, + "unit": { + "type": "string", + "enum": [ + "celsius", + "fahrenheit" + ] + } + }, + "required": [ + "location" + ] + } + } + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreviewTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreview20250311Tool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearch20250826Tool" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tool_choice.$ref", + "value": "#/components/schemas/OpenAIResponsesToolChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt.$ref", + "value": "#/components/schemas/OpenAIResponsesPrompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.background.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.background.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.previous_response_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.previous_response_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.reasoning.$ref", + "value": "#/components/schemas/OpenAIResponsesReasoningConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.service_tier.$ref", + "value": "#/components/schemas/OpenAIResponsesServiceTier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.store.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.truncation.$ref", + "value": "#/components/schemas/OpenAIResponsesTruncation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.text.$ref", + "value": "#/components/schemas/ResponseTextConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.required", + "value": [ + "id", + "object", + "created_at", + "model", + "status", + "completed_at", + "output", + "error", + "incomplete_details", + "temperature", + "top_p", + "presence_penalty", + "frequency_penalty", + "instructions", + "metadata", + "tools", + "tool_choice", + "parallel_tool_calls" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesNonStreamingResponse" + }, + { + "type": "object", + "properties": { + "output": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + }, + "usage": { + "$ref": "#/components/schemas/OpenResponsesUsage" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.description", + "value": "Complete non-streaming response from the Responses API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.output", + "value": [ + { + "type": "message", + "id": "msg-abc123", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?", + "annotations": [] + } + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.input_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.output_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.total_tokens", + "value": 35, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.input_tokens_details.cached_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.output_tokens_details.reasoning_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.type.enum", + "value": [ + "response.created" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.description", + "value": "Event emitted when a response is created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.type", + "value": "response.created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.sequence_number", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.type.enum", + "value": [ + "response.in_progress" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.description", + "value": "Event emitted when a response is in progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.type", + "value": "response.in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.sequence_number", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.type.enum", + "value": [ + "response.completed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.description", + "value": "Event emitted when a response has completed successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.type", + "value": "response.completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.output", + "value": [ + { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.sequence_number", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.type.enum", + "value": [ + "response.incomplete" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.description", + "value": "Event emitted when a response is incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.type", + "value": "response.incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.status", + "value": "incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.sequence_number", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.type.enum", + "value": [ + "response.failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.description", + "value": "Event emitted when a response has failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.type", + "value": "response.failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.status", + "value": "failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.code.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.param.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.param.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.required", + "value": [ + "type", + "code", + "message", + "param", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.description", + "value": "Event emitted when an error occurs during streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.type", + "value": "error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.param", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesErrorEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.description", + "value": "Event emitted when an error occurs during streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.type", + "value": "error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.param", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.type.enum", + "value": [ + "response.output_item.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.required", + "value": [ + "type", + "output_index", + "item", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.description", + "value": "Event emitted when a new output item is added to the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.type", + "value": "response.output_item.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.content", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.type.enum", + "value": [ + "response.output_item.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.required", + "value": [ + "type", + "output_index", + "item", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.description", + "value": "Event emitted when an output item is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.type", + "value": "response.output_item.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.sequence_number", + "value": 8, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.type.enum", + "value": [ + "response.content_part.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.part.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.description", + "value": "Event emitted when a new content part is added to an output item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.type", + "value": "response.content_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.annotations", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.type.enum", + "value": [ + "response.content_part.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.part.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.description", + "value": "Event emitted when a content part is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.type", + "value": "response.content_part.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.text", + "value": "Hello! How can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.annotations", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.sequence_number", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.description", + "value": "Alternative token with its log probability", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.example.token", + "value": "hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.example.logprob", + "value": -0.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.top_logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesTopLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.required", + "value": [ + "logprob", + "token" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.description", + "value": "Log probability information for a token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.logprob", + "value": -0.1, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.token", + "value": "world", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.top_logprobs", + "value": [ + { + "token": "hello", + "logprob": -0.5 + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.type.enum", + "value": [ + "response.output_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesLogProbs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.required", + "value": [ + "type", + "logprobs", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.description", + "value": "Event emitted when a text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.type", + "value": "response.output_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.logprobs", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.delta", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.type.enum", + "value": [ + "response.output_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesLogProbs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "text", + "sequence_number", + "logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.description", + "value": "Event emitted when text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.type", + "value": "response.output_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.text", + "value": "Hello! How can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.logprobs", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.type.enum", + "value": [ + "response.refusal.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.description", + "value": "Event emitted when a refusal delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.type", + "value": "response.refusal.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.delta", + "value": "I'm sorry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.type.enum", + "value": [ + "response.refusal.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "refusal", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.description", + "value": "Event emitted when refusal streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.type", + "value": "response.refusal.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.refusal", + "value": "I'm sorry, but I can't assist with that request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.type.enum", + "value": [ + "response.output_text.annotation.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.annotation_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.annotation.$ref", + "value": "#/components/schemas/OpenAIResponsesAnnotation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "sequence_number", + "annotation_index", + "annotation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.description", + "value": "Event emitted when a text annotation is added to output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.type", + "value": "response.output_text.annotation.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.sequence_number", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.type", + "value": "url_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.url", + "value": "https://example.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.title", + "value": "Example", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.start_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.end_index", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.type.enum", + "value": [ + "response.function_call_arguments.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.description", + "value": "Event emitted when function call arguments are being streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.type", + "value": "response.function_call_arguments.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.delta", + "value": "{\"city\": \"San", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.type.enum", + "value": [ + "response.function_call_arguments.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "name", + "arguments", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.description", + "value": "Event emitted when function call arguments streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.type", + "value": "response.function_call_arguments.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.arguments", + "value": "{\"city\": \"San Francisco\", \"units\": \"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.type.enum", + "value": [ + "response.reasoning_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.description", + "value": "Event emitted when reasoning text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.type", + "value": "response.reasoning_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.delta", + "value": "First, we need", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.description", + "value": "Event emitted when reasoning text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.type", + "value": "response.reasoning_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.delta", + "value": "First, we need", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "text", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.description", + "value": "Event emitted when reasoning text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.type", + "value": "response.reasoning_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.text", + "value": "First, we need to identify the key components and then combine them logically.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.description", + "value": "Event emitted when reasoning text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.type", + "value": "response.reasoning_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.text", + "value": "First, we need to identify the key components and then combine them logically.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_part.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.part.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "summary_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.description", + "value": "Event emitted when a reasoning summary part is added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.type", + "value": "response.reasoning_summary_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryPartAddedEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.description", + "value": "Event emitted when a reasoning summary part is added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.type", + "value": "response.reasoning_summary_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_part.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.part.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "summary_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.description", + "value": "Event emitted when a reasoning summary part is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.type", + "value": "response.reasoning_summary_part.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.part.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.sequence_number", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "summary_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.description", + "value": "Event emitted when reasoning summary text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.type", + "value": "response.reasoning_summary_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.delta", + "value": "Analyzing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryTextDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.description", + "value": "Event emitted when reasoning summary text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.type", + "value": "response.reasoning_summary_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.delta", + "value": "Analyzing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "summary_index", + "text", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.description", + "value": "Event emitted when reasoning summary text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.type", + "value": "response.reasoning_summary_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryTextDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.description", + "value": "Event emitted when reasoning summary text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.type", + "value": "response.reasoning_summary_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.type.enum", + "value": [ + "response.image_generation_call.in_progress" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallInProgress" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.description", + "value": "Image generation call in progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.type", + "value": "response.image_generation_call.in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.sequence_number", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.type.enum", + "value": [ + "response.image_generation_call.generating" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallGenerating" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.description", + "value": "Image generation call is generating", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.type", + "value": "response.image_generation_call.generating", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.type.enum", + "value": [ + "response.image_generation_call.partial_image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.partial_image_b64.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.partial_image_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number", + "partial_image_b64", + "partial_image_index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallPartialImage" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.description", + "value": "Image generation call with partial image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.type", + "value": "response.image_generation_call.partial_image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.partial_image_b64", + "value": "base64encodedimage...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.partial_image_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.type.enum", + "value": [ + "response.image_generation_call.completed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallCompleted" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.description", + "value": "Image generation call completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.type", + "value": "response.image_generation_call.completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesCreatedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is created", + "example": { + "type": "response.created", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "in_progress", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 0 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesInProgressEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is in progress", + "example": { + "type": "response.in_progress", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "in_progress", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 1 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesCompletedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response has completed successfully", + "example": { + "type": "response.completed", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "completed", + "output": [ + { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + } + ], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 10 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesIncompleteEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is incomplete", + "example": { + "type": "response.incomplete", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "incomplete", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 5 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFailedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response has failed", + "example": { + "type": "response.failed", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "failed", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 3 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesErrorEvent" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputItemAddedEvent" + }, + { + "type": "object", + "properties": { + "item": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + } + } + ], + "description": "Event emitted when a new output item is added to the response", + "example": { + "type": "response.output_item.added", + "output_index": 0, + "item": { + "id": "item-1", + "type": "message", + "status": "in_progress", + "role": "assistant", + "content": [] + }, + "sequence_number": 2 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputItemDoneEvent" + }, + { + "type": "object", + "properties": { + "item": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + } + } + ], + "description": "Event emitted when an output item is complete", + "example": { + "type": "response.output_item.done", + "output_index": 0, + "item": { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + }, + "sequence_number": 8 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesContentPartAddedEvent" + }, + { + "type": "object", + "properties": { + "part": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/ReasoningTextContent" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ] + } + } + } + ], + "description": "Event emitted when a new content part is added to an output item", + "example": { + "type": "response.content_part.added", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "part": { + "type": "output_text", + "text": "", + "annotations": [] + }, + "sequence_number": 3 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesContentPartDoneEvent" + }, + { + "type": "object", + "properties": { + "part": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/ReasoningTextContent" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ] + } + } + } + ], + "description": "Event emitted when a content part is complete", + "example": { + "type": "response.content_part.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "part": { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + }, + "sequence_number": 7 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesTextDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a text delta is streamed", + "example": { + "type": "response.output_text.delta", + "logprobs": [], + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "delta": "Hello", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesTextDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when text streaming is complete", + "example": { + "type": "response.output_text.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "text": "Hello! How can I help you?", + "sequence_number": 6, + "logprobs": [] + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesRefusalDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a refusal delta is streamed", + "example": { + "type": "response.refusal.delta", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "delta": "I'm sorry", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesRefusalDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when refusal streaming is complete", + "example": { + "type": "response.refusal.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "refusal": "I'm sorry, but I can't assist with that request.", + "sequence_number": 6 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputTextAnnotationAddedEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a text annotation is added to output", + "example": { + "type": "response.output_text.annotation.added", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "sequence_number": 5, + "annotation_index": 0, + "annotation": { + "type": "url_citation", + "url": "https://example.com", + "title": "Example", + "start_index": 0, + "end_index": 7 + } + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallArgumentsDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when function call arguments are being streamed", + "example": { + "type": "response.function_call_arguments.delta", + "item_id": "item-1", + "output_index": 0, + "delta": "{\"city\": \"San", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallArgumentsDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when function call arguments streaming is complete", + "example": { + "type": "response.function_call_arguments.done", + "item_id": "item-1", + "output_index": 0, + "name": "get_weather", + "arguments": "{\"city\": \"San Francisco\", \"units\": \"celsius\"}", + "sequence_number": 6 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningDeltaEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningDoneEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryPartAddedEvent" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryPartDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a reasoning summary part is complete", + "example": { + "type": "response.reasoning_summary_part.done", + "output_index": 0, + "item_id": "item-1", + "summary_index": 0, + "part": { + "type": "summary_text", + "text": "Analyzing the problem step by step to find the optimal solution." + }, + "sequence_number": 7 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryTextDeltaEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryTextDoneEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallInProgress" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallGenerating" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallPartialImage" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallCompleted" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.description", + "value": "Union of all possible event types emitted during response streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.type", + "value": "response.created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.sequence_number", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.description", + "value": "Error data for BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.example.code", + "value": 400, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.example.message", + "value": "Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.error.$ref", + "value": "#/components/schemas/BadRequestResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.example.error.code", + "value": 400, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.example.error.message", + "value": "Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.description", + "value": "Error data for UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.example.code", + "value": 401, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.example.message", + "value": "Missing Authentication header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.error.$ref", + "value": "#/components/schemas/UnauthorizedResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.example.error.code", + "value": 401, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.example.error.message", + "value": "Missing Authentication header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.description", + "value": "Error data for PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.example.code", + "value": 402, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.example.message", + "value": "Insufficient credits. Add more using https://openrouter.ai/credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.error.$ref", + "value": "#/components/schemas/PaymentRequiredResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.example.error.code", + "value": 402, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.example.error.message", + "value": "Insufficient credits. Add more using https://openrouter.ai/credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.description", + "value": "Error data for NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.example.code", + "value": 404, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.example.message", + "value": "Resource not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.error.$ref", + "value": "#/components/schemas/NotFoundResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.example.error.code", + "value": 404, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.example.error.message", + "value": "Resource not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.description", + "value": "Error data for RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.example.code", + "value": 408, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.example.message", + "value": "Operation timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.error.$ref", + "value": "#/components/schemas/RequestTimeoutResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.example.error.code", + "value": 408, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.example.error.message", + "value": "Operation timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.description", + "value": "Error data for PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.example.code", + "value": 413, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.example.message", + "value": "Request payload too large", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.error.$ref", + "value": "#/components/schemas/PayloadTooLargeResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.example.error.code", + "value": 413, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.example.error.message", + "value": "Request payload too large", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.description", + "value": "Error data for UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.example.code", + "value": 422, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.example.message", + "value": "Invalid argument", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.error.$ref", + "value": "#/components/schemas/UnprocessableEntityResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.example.error.code", + "value": 422, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.example.error.message", + "value": "Invalid argument", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.description", + "value": "Error data for TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.example.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.example.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.error.$ref", + "value": "#/components/schemas/TooManyRequestsResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.example.error.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.example.error.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.description", + "value": "Error data for InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.example.code", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.example.message", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.error.$ref", + "value": "#/components/schemas/InternalServerResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.example.error.code", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.example.error.message", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.description", + "value": "Error data for BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.example.code", + "value": 502, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.example.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.error.$ref", + "value": "#/components/schemas/BadGatewayResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.example.error.code", + "value": 502, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.example.error.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.description", + "value": "Error data for ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.example.code", + "value": 503, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.example.message", + "value": "Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.error.$ref", + "value": "#/components/schemas/ServiceUnavailableResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.example.error.code", + "value": 503, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.example.error.message", + "value": "Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.description", + "value": "Error data for EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.example.code", + "value": 524, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.example.message", + "value": "Request timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.error.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.description", + "value": "Infrastructure Timeout - Provider request timed out at edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.example.error.code", + "value": 524, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.example.error.message", + "value": "Request timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.description", + "value": "Error data for ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.example.code", + "value": 529, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.example.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.error.$ref", + "value": "#/components/schemas/ProviderOverloadedResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.example.error.code", + "value": 529, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.example.error.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/ReasoningTextContent" + } + }, + "signature": { + "type": "string", + "nullable": true + }, + "format": { + "type": "string", + "nullable": true, + "enum": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ] + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.id", + "value": "reasoning-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Step by step analysis" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.description", + "value": "Reasoning output item with signature and format extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.type.enum", + "value": [ + "input_video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.video_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.video_url.description", + "value": "A base64 data URL or remote URL that resolves to a video file", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.description", + "value": "Video input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.example.type", + "value": "input_video", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.example.video_url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.role.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "assistant" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.content.anyOf", + "value": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Image input content item", + "example": { + "type": "input_image", + "detail": "auto", + "image_url": "https://example.com/image.jpg" + } + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + }, + { + "$ref": "#/components/schemas/ResponseInputVideo" + } + ] + } + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.role.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.content.items.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Image input content item", + "example": { + "type": "input_image", + "detail": "auto", + "image_url": "https://example.com/image.jpg" + } + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + }, + { + "$ref": "#/components/schemas/ResponseInputVideo" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.type.enum", + "value": [ + "function_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.status.$ref", + "value": "#/components/schemas/ToolCallStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.required", + "value": [ + "type", + "call_id", + "name", + "arguments", + "id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.description", + "value": "A function call initiated by the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.arguments", + "value": "{\"location\":\"San Francisco\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.type.enum", + "value": [ + "function_call_output" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.output.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.status.$ref", + "value": "#/components/schemas/ToolCallStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.required", + "value": [ + "type", + "call_id", + "output" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.description", + "value": "The output from a function call execution", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.type", + "value": "function_call_output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.id", + "value": "output-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.output", + "value": "{\"temperature\":72,\"conditions\":\"sunny\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpenResponsesReasoning" + }, + { + "$ref": "#/components/schemas/OpenResponsesEasyInputMessage" + }, + { + "$ref": "#/components/schemas/OpenResponsesInputMessageItem" + }, + { + "$ref": "#/components/schemas/OpenResponsesFunctionToolCall" + }, + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputMessage" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemReasoning" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/ResponsesWebSearchCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/ResponsesImageGenerationCall" + } + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.description", + "value": "Input for a response request - can be a string or array of items", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.example", + "value": [ + { + "role": "user", + "content": "What is the weather today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.allOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseTextConfig" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.description", + "value": "Text output configuration including format and verbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.example.format.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.example.verbosity", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningConfig" + }, + { + "type": "object", + "nullable": true, + "properties": { + "max_tokens": { + "type": "number", + "nullable": true + }, + "enabled": { + "type": "boolean", + "nullable": true + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.description", + "value": "Configuration for reasoning mode in the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.example.summary", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.example.enabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputModality.enum", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncludable.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncludable.enum", + "value": [ + "file_search_call.results", + "message.input_image.image_url", + "computer_call_output.output.image_url", + "reasoning.encrypted_content", + "code_interpreter_call.outputs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.enum", + "value": [ + "deny", + "allow" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.description", + "value": "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.example", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.enum", + "value": [ + "AI21", + "AionLabs", + "Alibaba", + "Ambient", + "Amazon Bedrock", + "Amazon Nova", + "Anthropic", + "Arcee AI", + "AtlasCloud", + "Avian", + "Azure", + "BaseTen", + "BytePlus", + "Black Forest Labs", + "Cerebras", + "Chutes", + "Cirrascale", + "Clarifai", + "Cloudflare", + "Cohere", + "Crusoe", + "DeepInfra", + "DeepSeek", + "Featherless", + "Fireworks", + "Friendli", + "GMICloud", + "Google", + "Google AI Studio", + "Groq", + "Hyperbolic", + "Inception", + "Inceptron", + "InferenceNet", + "Ionstream", + "Infermatic", + "Io Net", + "Inflection", + "Liquid", + "Mara", + "Mancer 2", + "Minimax", + "ModelRun", + "Mistral", + "Modular", + "Moonshot AI", + "Morph", + "NCompass", + "Nebius", + "NextBit", + "Novita", + "Nvidia", + "OpenAI", + "OpenInference", + "Parasail", + "Perplexity", + "Phala", + "Relace", + "SambaNova", + "Seed", + "SiliconFlow", + "Sourceful", + "StepFun", + "Stealth", + "StreamLake", + "Switchpoint", + "Together", + "Upstage", + "Venice", + "WandB", + "Xiaomi", + "xAI", + "Z.AI", + "FakeProvider" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.enum", + "value": [ + "int4", + "int8", + "fp4", + "fp6", + "fp8", + "fp16", + "bf16", + "fp32", + "unknown" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.example", + "value": "fp16", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.enum", + "value": [ + "price", + "throughput", + "latency" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.enum", + "value": [ + "price", + "throughput", + "latency" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.enum", + "value": [ + "model", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.description", + "value": "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.example", + "value": "model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.example.by", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.example.partition", + "value": "model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.description", + "value": "Price per million prompt tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.description", + "value": "Minimum p50 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.description", + "value": "Minimum p75 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.description", + "value": "Minimum p90 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.description", + "value": "Minimum p99 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.description", + "value": "Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.example.p50", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.example.p90", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.anyOf", + "value": [ + { + "type": "number" + }, + { + "$ref": "#/components/schemas/PercentileThroughputCutoffs" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.description", + "value": "Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.description", + "value": "Maximum p50 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.description", + "value": "Maximum p75 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.description", + "value": "Maximum p90 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.description", + "value": "Maximum p99 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.description", + "value": "Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.example.p50", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.example.p90", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.anyOf", + "value": [ + { + "type": "number" + }, + { + "$ref": "#/components/schemas/PercentileLatencyCutoffs" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.description", + "value": "Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.enum", + "value": [ + "native", + "exa" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.description", + "value": "The search engine to use for web search.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.enum", + "value": [ + "mistral-ocr", + "pdf-text", + "native" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.description", + "value": "The engine to use for parsing PDF files.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.properties.engine.$ref", + "value": "#/components/schemas/PDFParserEngine", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.description", + "value": "Options for PDF parsing.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.input.$ref", + "value": "#/components/schemas/OpenResponsesInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.instructions.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.instructions.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.metadata.$ref", + "value": "#/components/schemas/OpenResponsesRequestMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tools.items.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionTool" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Function tool definition", + "example": { + "type": "function", + "name": "get_weather", + "description": "Get the current weather in a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state" + }, + "unit": { + "type": "string", + "enum": [ + "celsius", + "fahrenheit" + ] + } + }, + "required": [ + "location" + ] + } + } + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreviewTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreview20250311Tool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearch20250826Tool" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tool_choice.$ref", + "value": "#/components/schemas/OpenAIResponsesToolChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.parallel_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.text.$ref", + "value": "#/components/schemas/OpenResponsesResponseText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.reasoning.$ref", + "value": "#/components/schemas/OpenResponsesReasoningConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_output_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.maximum", + "value": 20, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_tool_calls.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_k.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.description", + "value": "Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.example.aspect_ratio", + "value": "16:9", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.items.$ref", + "value": "#/components/schemas/ResponsesOutputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.description", + "value": "Output modalities for the response. Supported values are \"text\" and \"image\".", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.example", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt_cache_key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt_cache_key.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.previous_response_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.previous_response_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt.$ref", + "value": "#/components/schemas/OpenAIResponsesPrompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.items.$ref", + "value": "#/components/schemas/OpenAIResponsesIncludable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.background.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.background.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.safety_identifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.safety_identifier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.const", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.enum", + "value": [ + "auto" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.default", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.truncation.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesTruncation" + }, + { + "example": "auto" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.stream.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.description", + "value": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.description", + "value": "A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.description", + "value": "Request schema for Responses endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.model", + "value": "anthropic/claude-4.5-sonnet-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.input", + "value": [ + { + "type": "message", + "content": "Hello, how are you?", + "role": "user" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.top_p", + "value": 0.9, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.tools", + "value": [ + { + "type": "function", + "name": "get_current_weather", + "description": "Get the current weather in a given location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string" + } + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.content.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ] + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.enum", + "value": [ + "end_turn", + "max_tokens", + "stop_sequence", + "tool_use", + "pause_turn", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_sequence.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_sequence.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation_input_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_read_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_read_input_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.properties.ephemeral_5m_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.properties.ephemeral_1h_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.required", + "value": [ + "ephemeral_5m_input_tokens", + "ephemeral_1h_input_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.inference_geo.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.inference_geo.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.properties.web_search_requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.required", + "value": [ + "web_search_requests" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.enum", + "value": [ + "standard", + "priority", + "batch" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.required", + "value": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "cache_creation", + "inference_geo", + "server_tool_use", + "service_tier" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.required", + "value": [ + "id", + "type", + "role", + "content", + "model", + "stop_reason", + "stop_sequence", + "usage" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.allOf", + "value": [ + { + "$ref": "#/components/schemas/BaseAnthropicMessagesResponse" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.description", + "value": "Non-streaming response from the Anthropic Messages API with OpenRouter extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.id", + "value": "msg_01XFDUDYJgAACzvnptvVoYEL", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.content", + "value": [ + { + "type": "text", + "text": "Hello! I'm doing well, thank you for asking.", + "citations": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.model", + "value": "claude-sonnet-4-5-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.stop_reason", + "value": "end_turn", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.stop_sequence", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.input_tokens", + "value": 12, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.output_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_creation_input_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_read_input_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_creation", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.inference_geo", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.server_tool_use", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.service_tier", + "value": "standard", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesStreamEvent.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_start" + ] + }, + "message": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "type": "string", + "enum": [ + "assistant" + ] + }, + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ] + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ] + } + }, + "model": { + "type": "string" + }, + "stop_reason": { + "nullable": true + }, + "stop_sequence": { + "nullable": true + }, + "usage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "number" + }, + "output_tokens": { + "type": "number" + }, + "cache_creation_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_read_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_creation": { + "type": "object", + "nullable": true, + "properties": { + "ephemeral_5m_input_tokens": { + "type": "number" + }, + "ephemeral_1h_input_tokens": { + "type": "number" + } + }, + "required": [ + "ephemeral_5m_input_tokens", + "ephemeral_1h_input_tokens" + ] + }, + "inference_geo": { + "type": "string", + "nullable": true + }, + "server_tool_use": { + "type": "object", + "nullable": true, + "properties": { + "web_search_requests": { + "type": "number" + } + }, + "required": [ + "web_search_requests" + ] + }, + "service_tier": { + "type": "string", + "nullable": true, + "enum": [ + "standard", + "priority", + "batch" + ] + } + }, + "required": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "cache_creation", + "inference_geo", + "server_tool_use", + "service_tier" + ] + } + }, + "required": [ + "id", + "type", + "role", + "content", + "model", + "stop_reason", + "stop_sequence", + "usage" + ] + } + }, + "required": [ + "type", + "message" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_delta" + ] + }, + "delta": { + "type": "object", + "properties": { + "stop_reason": { + "type": "string", + "nullable": true, + "enum": [ + "end_turn", + "max_tokens", + "stop_sequence", + "tool_use", + "pause_turn", + "refusal" + ] + }, + "stop_sequence": { + "type": "string", + "nullable": true + } + }, + "required": [ + "stop_reason", + "stop_sequence" + ] + }, + "usage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "number", + "nullable": true + }, + "output_tokens": { + "type": "number" + }, + "cache_creation_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_read_input_tokens": { + "type": "number", + "nullable": true + }, + "server_tool_use": { + "type": "object", + "nullable": true, + "properties": { + "web_search_requests": { + "type": "number" + } + }, + "required": [ + "web_search_requests" + ] + } + }, + "required": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "server_tool_use" + ] + } + }, + "required": [ + "type", + "delta", + "usage" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_stop" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_start" + ] + }, + "index": { + "type": "number" + }, + "content_block": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ] + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ] + } + }, + "required": [ + "type", + "index", + "content_block" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_delta" + ] + }, + "index": { + "type": "number" + }, + "delta": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text_delta" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "input_json_delta" + ] + }, + "partial_json": { + "type": "string" + } + }, + "required": [ + "type", + "partial_json" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking_delta" + ] + }, + "thinking": { + "type": "string" + } + }, + "required": [ + "type", + "thinking" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "signature_delta" + ] + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "citations_delta" + ] + }, + "citation": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "required": [ + "type", + "citation" + ] + } + ] + } + }, + "required": [ + "type", + "index", + "delta" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_stop" + ] + }, + "index": { + "type": "number" + } + }, + "required": [ + "type", + "index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ping" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "error" + ] + }, + "error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "message" + ] + } + }, + "required": [ + "type", + "error" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesStreamEvent.description", + "value": "Union of all possible streaming events", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.role.enum", + "value": [ + "user", + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "document" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "application/pdf" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "text/plain" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content" + ] + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + } + ] + } + } + ] + } + }, + "required": [ + "type", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "citations": { + "type": "object", + "nullable": true, + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "context": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + } + ] + } + } + ] + }, + "is_error": { + "type": "boolean" + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "tool_use_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "encrypted_content", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ] + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result" + ] + }, + "source": { + "type": "string" + }, + "title": { + "type": "string" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + } + }, + "citations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source", + "title", + "content" + ] + } + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.description", + "value": "Anthropic message with OpenRouter extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.enum", + "value": [ + "low", + "medium", + "high", + "max" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.description", + "value": "How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer. Valid values are `low`, `medium`, `high`, or `max`.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.description", + "value": "Configuration for controlling output behavior. Currently supports the effort parameter for Claude Opus 4.5.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.max_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.messages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.messages.items.$ref", + "value": "#/components/schemas/OpenRouterAnthropicMessageParam", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.system.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stop_sequences.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stop_sequences.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.top_k.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tools.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "input_schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "object" + ] + }, + "properties": { + "nullable": true + }, + "required": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ], + "additionalProperties": { + "nullable": true + } + }, + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "name", + "input_schema" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "bash_20250124" + ] + }, + "name": { + "type": "string", + "enum": [ + "bash" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text_editor_20250124" + ] + }, + "name": { + "type": "string", + "enum": [ + "str_replace_editor" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_20250305" + ] + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "allowed_domains": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + }, + "blocked_domains": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + }, + "max_uses": { + "type": "number", + "nullable": true + }, + "user_location": { + "type": "object", + "nullable": true, + "properties": { + "type": { + "type": "string", + "enum": [ + "approximate" + ] + }, + "city": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "region": { + "type": "string", + "nullable": true + }, + "timezone": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ] + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tool_choice.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "auto" + ] + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "any" + ] + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool" + ] + }, + "name": { + "type": "string" + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type", + "name" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.thinking.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "enabled" + ] + }, + "budget_tokens": { + "type": "number" + } + }, + "required": [ + "type", + "budget_tokens" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "disabled" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "adaptive" + ] + } + }, + "required": [ + "type" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.service_tier.enum", + "value": [ + "auto", + "standard_only" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.description", + "value": "A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.output_config.$ref", + "value": "#/components/schemas/AnthropicOutputConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.required", + "value": [ + "model", + "max_tokens", + "messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.description", + "value": "Request schema for Anthropic Messages API endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.model", + "value": "anthropic/claude-4.5-sonnet-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.max_tokens", + "value": 1024, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.messages", + "value": [ + { + "role": "user", + "content": "Hello, how are you?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.description", + "value": "Date of the activity (YYYY-MM-DD format)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.example", + "value": "2025-08-24", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.description", + "value": "Model slug (e.g., \"openai/gpt-4.1\")", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.example", + "value": "openai/gpt-4.1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.description", + "value": "Model permaslug (e.g., \"openai/gpt-4.1-2025-04-14\")", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.example", + "value": "openai/gpt-4.1-2025-04-14", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.description", + "value": "Unique identifier for the endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.description", + "value": "Name of the provider serving this endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.description", + "value": "Total cost in USD (OpenRouter credits spent)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.example", + "value": 0.015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.description", + "value": "BYOK inference cost in USD (external credits spent)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.example", + "value": 0.012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.description", + "value": "Number of requests made", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.description", + "value": "Total prompt tokens used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.description", + "value": "Total completion tokens generated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.example", + "value": 125, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.description", + "value": "Total reasoning tokens used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.required", + "value": [ + "date", + "model", + "model_permaslug", + "endpoint_id", + "provider_name", + "usage", + "byok_usage_inference", + "requests", + "prompt_tokens", + "completion_tokens", + "reasoning_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.date", + "value": "2025-08-24", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.model", + "value": "openai/gpt-4.1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.model_permaslug", + "value": "openai/gpt-4.1-2025-04-14", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.endpoint_id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.provider_name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.usage", + "value": 0.015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.byok_usage_inference", + "value": 0.012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.requests", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.prompt_tokens", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.completion_tokens", + "value": 125, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.reasoning_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.description", + "value": "Error data for ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.example.code", + "value": 403, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.example.message", + "value": "Only management keys can perform this operation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.error.$ref", + "value": "#/components/schemas/ForbiddenResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.description", + "value": "Forbidden - Authentication successful but insufficient permissions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.example.error.code", + "value": 403, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.example.error.message", + "value": "Only management keys can perform this operation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.enum", + "value": [ + "tool_calls", + "stop", + "length", + "content_filter", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.type.enum", + "value": [ + "ephemeral" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.ttl.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.ttl.enum", + "value": [ + "5m", + "1h" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.description", + "value": "Cache control for the content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.example.type", + "value": "ephemeral", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.example.ttl", + "value": "5m", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.cache_control.$ref", + "value": "#/components/schemas/ChatMessageContentItemCacheControl", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.description", + "value": "Text content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.example.text", + "value": "Hello, world!", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.type.enum", + "value": [ + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.url.description", + "value": "URL of the image (data: URLs supported)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.enum", + "value": [ + "auto", + "low", + "high" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.description", + "value": "Image detail level for vision models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.required", + "value": [ + "type", + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.description", + "value": "Image content part for vision models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.type", + "value": "image_url", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.image_url.url", + "value": "https://example.com/image.jpg", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.image_url.detail", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.type.enum", + "value": [ + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.data.description", + "value": "Base64 encoded audio data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.format.description", + "value": "Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.required", + "value": [ + "data", + "format" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.required", + "value": [ + "type", + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.description", + "value": "Audio input content part. Supported audio formats vary by provider.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.type", + "value": "input_audio", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.input_audio.data", + "value": "SGVsbG8gV29ybGQ=", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.input_audio.format", + "value": "wav", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.properties.url.description", + "value": "URL of the video (data: URLs supported)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.description", + "value": "Video input object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.type.enum", + "value": [ + "input_video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.video_url.$ref", + "value": "#/components/schemas/VideoInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.description", + "value": "Video input content part (legacy format - deprecated)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.example.type", + "value": "input_video", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.example.video_url.url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.type.enum", + "value": [ + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.video_url.$ref", + "value": "#/components/schemas/VideoInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.description", + "value": "Video input content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.example.type", + "value": "video_url", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.example.video_url.url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ChatMessageContentItemText" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemImage" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemAudio" + }, + { + "oneOf": [ + { + "$ref": "#/components/schemas/ChatMessageContentItemVideoLegacy" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemVideo" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_video": "#/components/schemas/ChatMessageContentItemVideoLegacy", + "video_url": "#/components/schemas/ChatMessageContentItemVideo" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.description", + "value": "Content part for chat completion messages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.example.text", + "value": "Hello, world!", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.id.description", + "value": "Tool call identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.name.description", + "value": "Function name to call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.arguments.description", + "value": "Function arguments as JSON string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.required", + "value": [ + "name", + "arguments" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.required", + "value": [ + "id", + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.description", + "value": "Tool call made by the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.function.name", + "value": "get_current_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.function.arguments", + "value": "{\"location\": \"Boston, MA\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.type.enum", + "value": [ + "reasoning.summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.summary.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.required", + "value": [ + "type", + "summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.description", + "value": "Reasoning detail summary schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.example.type", + "value": "reasoning.summary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.example.summary", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.type.enum", + "value": [ + "reasoning.encrypted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.required", + "value": [ + "type", + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.description", + "value": "Reasoning detail encrypted schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.example.type", + "value": "reasoning.encrypted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.example.data", + "value": "encrypted data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.type.enum", + "value": [ + "reasoning.text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.signature.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.signature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.description", + "value": "Reasoning detail text schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.type", + "value": "reasoning.text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.text", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.signature", + "value": "signature", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ReasoningDetailSummary" + }, + { + "$ref": "#/components/schemas/ReasoningDetailEncrypted" + }, + { + "$ref": "#/components/schemas/ReasoningDetailText" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.summary", + "value": "#/components/schemas/ReasoningDetailSummary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.encrypted", + "value": "#/components/schemas/ReasoningDetailEncrypted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.text", + "value": "#/components/schemas/ReasoningDetailText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.description", + "value": "Reasoning detail union schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.example.type", + "value": "reasoning.summary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.example.summary", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.items.$ref", + "value": "#/components/schemas/ReasoningDetailUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.description", + "value": "Reasoning details for extended thinking models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.properties.url.description", + "value": "URL or base64-encoded data of the generated image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.required", + "value": [ + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.description", + "value": "Generated images from image generation models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.example", + "value": [ + { + "image_url": { + "url": "data:image/png;base64,iVBORw0KGgo..." + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.content.description", + "value": "Assistant message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.name.description", + "value": "Optional name for the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.items.$ref", + "value": "#/components/schemas/ChatMessageToolCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.description", + "value": "Tool calls made by the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.description", + "value": "Refusal message if content was refused", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.description", + "value": "Reasoning output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning_details.$ref", + "value": "#/components/schemas/AssistantMessageReasoningDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.images.$ref", + "value": "#/components/schemas/AssistantMessageImages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.required", + "value": [ + "role" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.description", + "value": "Assistant message for requests and responses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.example.content", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.token.description", + "value": "The token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.logprob.description", + "value": "Log probability of the token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.description", + "value": "UTF-8 bytes of the token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.required", + "value": [ + "token", + "logprob", + "bytes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.description", + "value": "Top alternative tokens with probabilities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.required", + "value": [ + "token", + "logprob", + "bytes", + "top_logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.description", + "value": "Token log probability information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.token", + "value": " Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.logprob", + "value": -0.612345, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.bytes", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.top_logprobs", + "value": [ + { + "token": " Hello", + "logprob": -0.612345, + "bytes": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.items.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprob", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.description", + "value": "Log probabilities for content tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.items.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprob", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.description", + "value": "Log probabilities for refusal tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.required", + "value": [ + "content", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.description", + "value": "Log probabilities for the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.example.content", + "value": [ + { + "token": " Hello", + "logprob": -0.612345, + "bytes": null, + "top_logprobs": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.example.refusal", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.finish_reason.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ChatCompletionFinishReason" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.description", + "value": "Choice index", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.message.$ref", + "value": "#/components/schemas/AssistantMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.logprobs.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.required", + "value": [ + "finish_reason", + "index", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.description", + "value": "Chat completion choice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.finish_reason", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.message.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.message.content", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.logprobs", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens.description", + "value": "Number of tokens in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens.description", + "value": "Number of tokens in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.total_tokens.description", + "value": "Total number of tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.description", + "value": "Tokens used for reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.description", + "value": "Tokens used for audio output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.description", + "value": "Accepted prediction tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.description", + "value": "Rejected prediction tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.description", + "value": "Detailed completion token usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cached_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cached_tokens.description", + "value": "Cached prompt tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cache_write_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cache_write_tokens.description", + "value": "Tokens written to cache. Only returned for models with explicit caching and cache write pricing.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.audio_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.audio_tokens.description", + "value": "Audio input tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.video_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.video_tokens.description", + "value": "Video input tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.description", + "value": "Detailed prompt token usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.required", + "value": [ + "completion_tokens", + "prompt_tokens", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.description", + "value": "Token usage statistics", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.completion_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.prompt_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.total_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.completion_tokens_details.reasoning_tokens", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.prompt_tokens_details.cached_tokens", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.description", + "value": "Unique completion identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.example", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.items.$ref", + "value": "#/components/schemas/ChatResponseChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.description", + "value": "List of completion choices", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.description", + "value": "Unix timestamp of creation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.example", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.description", + "value": "Model used for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.object.enum", + "value": [ + "chat.completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.description", + "value": "System fingerprint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.example", + "value": "fp_44709d6fcb", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.usage.$ref", + "value": "#/components/schemas/ChatGenerationTokenUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.required", + "value": [ + "id", + "choices", + "created", + "model", + "object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.description", + "value": "Chat completion response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.id", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.object", + "value": "chat.completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.created", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.choices", + "value": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris." + }, + "finish_reason": "stop" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.prompt_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.completion_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.total_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.description", + "value": "Tool call index in the array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.description", + "value": "Tool call identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.example", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.description", + "value": "Tool call type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.example", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.description", + "value": "Function name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.description", + "value": "Function arguments as JSON string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.example", + "value": "{\"location\":", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.description", + "value": "Function call details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.required", + "value": [ + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.description", + "value": "Tool call delta for streaming responses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.function.arguments", + "value": "{\"location\":", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.description", + "value": "The role of the message author", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.example", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.description", + "value": "Message content delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.example", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.description", + "value": "Reasoning content delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.example", + "value": "I need to", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.description", + "value": "Refusal message delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.example", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.items.$ref", + "value": "#/components/schemas/ChatStreamingMessageToolCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.description", + "value": "Tool calls delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning_details.$ref", + "value": "#/components/schemas/AssistantMessageReasoningDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.description", + "value": "Delta changes in streaming response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.example.content", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.delta.$ref", + "value": "#/components/schemas/ChatStreamingMessageChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.finish_reason.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ChatCompletionFinishReason" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.description", + "value": "Choice index", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.logprobs.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.required", + "value": [ + "delta", + "finish_reason", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.description", + "value": "Streaming completion choice chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.delta.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.delta.content", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.finish_reason", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.description", + "value": "Unique chunk identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.example", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.items.$ref", + "value": "#/components/schemas/ChatStreamingChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.description", + "value": "List of streaming chunk choices", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.description", + "value": "Unix timestamp of creation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.example", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.description", + "value": "Model used for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.object.enum", + "value": [ + "chat.completion.chunk" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.description", + "value": "System fingerprint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.example", + "value": "fp_44709d6fcb", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.description", + "value": "Error message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.example", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.description", + "value": "Error code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.example", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.required", + "value": [ + "message", + "code" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.description", + "value": "Error information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.example.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.example.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.usage.$ref", + "value": "#/components/schemas/ChatGenerationTokenUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.required", + "value": [ + "id", + "choices", + "created", + "model", + "object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.description", + "value": "Streaming chat completion chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.x-speakeasy-entity", + "value": "ChatStreamChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.id", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.object", + "value": "chat.completion.chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.created", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.choices", + "value": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "Hello" + }, + "finish_reason": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.role.enum", + "value": [ + "system" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItemText" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.description", + "value": "System message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.example", + "value": "You are a helpful assistant.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.description", + "value": "Optional name for the system message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.example", + "value": "Assistant Config", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.description", + "value": "System message for setting behavior", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.role", + "value": "system", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.content", + "value": "You are a helpful assistant.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.name", + "value": "Assistant Config", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.role.enum", + "value": [ + "user" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.description", + "value": "User message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.example", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.description", + "value": "Optional name for the user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.example", + "value": "User", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.description", + "value": "User message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.example.role", + "value": "user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.example.content", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.role.enum", + "value": [ + "developer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItemText" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.description", + "value": "Developer message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.example", + "value": "This is a message from the developer.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.description", + "value": "Optional name for the developer message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.example", + "value": "Developer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.description", + "value": "Developer message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.example.role", + "value": "developer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.example.content", + "value": "This is a message from the developer.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.role.enum", + "value": [ + "tool" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.description", + "value": "Tool response content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.example", + "value": "The weather in San Francisco is 72\u00b0F and sunny.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.description", + "value": "ID of the assistant message tool call this message responds to", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.example", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.required", + "value": [ + "role", + "content", + "tool_call_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.description", + "value": "Tool response message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.role", + "value": "tool", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.content", + "value": "The weather in San Francisco is 72\u00b0F and sunny.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.tool_call_id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.oneOf", + "value": [ + { + "$ref": "#/components/schemas/SystemMessage" + }, + { + "$ref": "#/components/schemas/UserMessage" + }, + { + "$ref": "#/components/schemas/DeveloperMessage" + }, + { + "$ref": "#/components/schemas/AssistantMessage" + }, + { + "$ref": "#/components/schemas/ToolResponseMessage" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.discriminator.propertyName", + "value": "role", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.description", + "value": "Chat completion message with role-based discrimination", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.example.role", + "value": "user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.example.content", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.description", + "value": "Model to use for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.items.allOf", + "value": [ + { + "$ref": "#/components/schemas/ModelName" + }, + { + "description": "Available OpenRouter chat completion models" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.description", + "value": "Models to use for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.example", + "value": [ + "openai/gpt-4", + "openai/gpt-4o" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.description", + "value": "Default text response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.properties.type.enum", + "value": [ + "json_object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.description", + "value": "JSON object response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.example.type", + "value": "json_object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.maxLength", + "value": 64, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.description", + "value": "Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.example", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.description", + "value": "Schema description for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.example", + "value": "A mathematical response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.description", + "value": "JSON Schema object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.description", + "value": "Enable strict schema adherence", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.description", + "value": "JSON Schema configuration object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.name", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.description", + "value": "A mathematical response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.strict", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.type.enum", + "value": [ + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.json_schema.$ref", + "value": "#/components/schemas/JSONSchemaConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.required", + "value": [ + "type", + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.description", + "value": "JSON Schema response format for structured outputs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.type", + "value": "json_schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.name", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.type.enum", + "value": [ + "grammar" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.description", + "value": "Custom grammar for text generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.example", + "value": "root ::= \"yes\" | \"no\"", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.required", + "value": [ + "type", + "grammar" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.description", + "value": "Custom grammar response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.example.type", + "value": "grammar", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.example.grammar", + "value": "root ::= \"yes\" | \"no\"", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.properties.type.enum", + "value": [ + "python" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.description", + "value": "Python code response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.example.type", + "value": "python", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.description", + "value": "Deprecated: This field has no effect. Full usage details are always included.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.description", + "value": "Streaming configuration options", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.example.include_usage", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.description", + "value": "Function name to call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.required", + "value": [ + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.description", + "value": "Named tool choice for specific function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "none" + ] + }, + { + "type": "string", + "enum": [ + "auto" + ] + }, + { + "type": "string", + "enum": [ + "required" + ] + }, + { + "$ref": "#/components/schemas/NamedToolChoice" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.description", + "value": "Tool choice configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.example", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.maxLength", + "value": 64, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.description", + "value": "Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.description", + "value": "Function description for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.example", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.description", + "value": "Function parameters as JSON Schema object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.description", + "value": "Enable strict schema adherence", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.description", + "value": "Function definition for tool calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.description", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.cache_control.$ref", + "value": "#/components/schemas/ChatMessageContentItemCacheControl", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.required", + "value": [ + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.description", + "value": "Tool definition for function calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.description", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.unit.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.unit.enum", + "value": [ + "celsius", + "fahrenheit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.description", + "value": "If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.description", + "value": "Debug options for inspecting request transformations (streaming only)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.example.echo_upstream_body", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.description", + "value": "Unique user identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.example", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.items.$ref", + "value": "#/components/schemas/Message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.description", + "value": "List of messages for the conversation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.example", + "value": [ + { + "role": "user", + "content": "Hello!" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.model.$ref", + "value": "#/components/schemas/ModelName", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.models.$ref", + "value": "#/components/schemas/ModelNames", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.description", + "value": "Frequency penalty (-2.0 to 2.0)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.additionalProperties.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.description", + "value": "Token logit bias adjustments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.example.50256", + "value": -100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.description", + "value": "Return log probabilities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.maximum", + "value": 20, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.description", + "value": "Number of top log probabilities to return (0-20)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.minimum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.description", + "value": "Maximum tokens in completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.minimum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.description", + "value": "Maximum tokens (deprecated, use max_completion_tokens)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.additionalProperties.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.description", + "value": "Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.example.user_id", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.example.session_id", + "value": "session-456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.description", + "value": "Presence penalty (-2.0 to 2.0)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.enum", + "value": [ + "xhigh", + "high", + "medium", + "low", + "minimal", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.description", + "value": "Constrains effort on reasoning for reasoning models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.summary.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ReasoningSummaryVerbosity" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.description", + "value": "Configuration options for reasoning models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.example.effort", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.example.summary", + "value": "concise", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseFormatText" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONObject" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONSchema" + }, + { + "$ref": "#/components/schemas/ResponseFormatTextGrammar" + }, + { + "$ref": "#/components/schemas/ResponseFormatTextPython" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.description", + "value": "Response format configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.example.type", + "value": "json_object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.description", + "value": "Random seed for deterministic outputs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.example", + "value": 42, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 4 + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.description", + "value": "Stop sequences (up to 4)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.example", + "value": [ + "\n" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.description", + "value": "Enable streaming response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream_options.$ref", + "value": "#/components/schemas/ChatStreamOptions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.default", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.description", + "value": "Sampling temperature (0-2)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.example", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.parallel_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tool_choice.$ref", + "value": "#/components/schemas/ToolChoiceOption", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.items.$ref", + "value": "#/components/schemas/ToolDefinitionJson", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.description", + "value": "Available tools for function calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.example", + "value": [ + { + "type": "function", + "function": { + "name": "get_weather", + "description": "Get weather" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.maximum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.default", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.description", + "value": "Nucleus sampling parameter (0-1)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.example", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.debug.$ref", + "value": "#/components/schemas/DebugOptions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "nullable": true + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.description", + "value": "Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.example.aspect_ratio", + "value": "16:9", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.items.enum", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.description", + "value": "Output modalities for the response. Supported values are \"text\" and \"image\".", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.example", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.required", + "value": [ + "messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.description", + "value": "Chat completion request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.messages", + "value": [ + { + "role": "system", + "content": "You are a helpful assistant." + }, + { + "role": "user", + "content": "What is the capital of France?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.max_tokens", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.amount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.sender.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.chain_id.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.chain_id.enum", + "value": [ + 1, + 137, + 8453 + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.required", + "value": [ + "amount", + "sender", + "chain_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.description", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.amount", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.sender", + "value": "0x1234567890123456789012345678901234567890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.chain_id", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.description", + "value": "Provider routing preferences for the request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.prompt.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image_token.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.audio_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_audio_cache.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.web_search.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.internal_reasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_cache_read.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_cache_write.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.required", + "value": [ + "prompt", + "completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.description", + "value": "Pricing information for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.enum", + "value": [ + "Router", + "Media", + "Other", + "GPT", + "Claude", + "Gemini", + "Grok", + "Cohere", + "Nova", + "Qwen", + "Yi", + "DeepSeek", + "Mistral", + "Llama2", + "Llama3", + "Llama4", + "PaLM", + "RWKV", + "Qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.example", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.description", + "value": "Tokenizer type used by the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.enum", + "value": [ + "text", + "image", + "file", + "audio", + "video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.example", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.enum", + "value": [ + "text", + "image", + "embeddings", + "audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.example", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.tokenizer.$ref", + "value": "#/components/schemas/ModelGroup", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.enum", + "value": [ + "none", + "airoboros", + "alpaca", + "alpaca-modif", + "chatml", + "claude", + "code-llama", + "gemma", + "llama2", + "llama3", + "mistral", + "nemotron", + "neural", + "openchat", + "phi3", + "rwkv", + "vicuna", + "zephyr", + "deepseek-r1", + "deepseek-v3.1", + "qwq", + "qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.example", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.description", + "value": "Instruction format type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.description", + "value": "Primary modality of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.example", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.items.$ref", + "value": "#/components/schemas/InputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.description", + "value": "Supported input modalities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.items.$ref", + "value": "#/components/schemas/OutputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.description", + "value": "Supported output modalities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.required", + "value": [ + "modality", + "input_modalities", + "output_modalities" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.description", + "value": "Model architecture information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.description", + "value": "Context length from the top provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.example", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.description", + "value": "Maximum completion tokens from the top provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.example", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.description", + "value": "Whether the top provider moderates content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.required", + "value": [ + "is_moderated" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.description", + "value": "Information about the top provider for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.is_moderated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.description", + "value": "Maximum prompt tokens per request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.description", + "value": "Maximum completion tokens per request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.required", + "value": [ + "prompt_tokens", + "completion_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.description", + "value": "Per-request token limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.example.prompt_tokens", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.example.completion_tokens", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.enum", + "value": [ + "temperature", + "top_p", + "top_k", + "min_p", + "top_a", + "frequency_penalty", + "presence_penalty", + "repetition_penalty", + "max_tokens", + "logit_bias", + "logprobs", + "top_logprobs", + "seed", + "response_format", + "structured_outputs", + "stop", + "tools", + "tool_choice", + "parallel_tool_calls", + "include_reasoning", + "reasoning", + "reasoning_effort", + "web_search_options", + "verbosity" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.example", + "value": "temperature", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.maximum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.description", + "value": "Default parameters for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.top_p", + "value": 0.9, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.frequency_penalty", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.description", + "value": "Unique identifier for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.description", + "value": "Canonical slug for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.description", + "value": "Hugging Face model identifier, if applicable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.example", + "value": "microsoft/DialoGPT-medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.description", + "value": "Display name of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.example", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.description", + "value": "Unix timestamp of when the model was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.example", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.description", + "value": "Description of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.example", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.pricing.$ref", + "value": "#/components/schemas/PublicPricing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.description", + "value": "Maximum context length in tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.example", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.architecture.$ref", + "value": "#/components/schemas/ModelArchitecture", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.top_provider.$ref", + "value": "#/components/schemas/TopProviderInfo", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.per_request_limits.$ref", + "value": "#/components/schemas/PerRequestLimits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.items.$ref", + "value": "#/components/schemas/Parameter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.description", + "value": "List of supported parameters for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.default_parameters.$ref", + "value": "#/components/schemas/DefaultParameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.description", + "value": "The date after which the model may be removed. ISO 8601 date string (YYYY-MM-DD) or null if no expiration.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.example", + "value": "2025-06-01", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.required", + "value": [ + "id", + "canonical_slug", + "name", + "created", + "pricing", + "context_length", + "architecture", + "top_provider", + "per_request_limits", + "supported_parameters", + "default_parameters" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.description", + "value": "Information about an AI model available on OpenRouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.canonical_slug", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.created", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.description", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.is_moderated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.per_request_limits", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.supported_parameters", + "value": [ + "temperature", + "top_p", + "max_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.default_parameters", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.expiration_date", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.items.$ref", + "value": "#/components/schemas/Model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.description", + "value": "List of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.properties.data.$ref", + "value": "#/components/schemas/ModelsListResponseData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.description", + "value": "List of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.example.data", + "value": [ + { + "id": "openai/gpt-4", + "canonical_slug": "openai/gpt-4", + "name": "GPT-4", + "created": 1692901234, + "description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "pricing": { + "prompt": "0.00003", + "completion": "0.00006", + "request": "0", + "image": "0" + }, + "context_length": 8192, + "architecture": { + "tokenizer": "GPT", + "instruct_type": "chatml", + "modality": "text->text", + "input_modalities": [ + "text" + ], + "output_modalities": [ + "text" + ] + }, + "top_provider": { + "context_length": 8192, + "max_completion_tokens": 4096, + "is_moderated": true + }, + "per_request_limits": null, + "supported_parameters": [ + "temperature", + "top_p", + "max_tokens", + "frequency_penalty", + "presence_penalty" + ], + "default_parameters": null, + "expiration_date": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.description", + "value": "Total number of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.example", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.required", + "value": [ + "count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.description", + "value": "Model count data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.example.count", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.description", + "value": "Model count data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.example.data.count", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.enum", + "value": [ + "none", + "airoboros", + "alpaca", + "alpaca-modif", + "chatml", + "claude", + "code-llama", + "gemma", + "llama2", + "llama3", + "mistral", + "nemotron", + "neural", + "openchat", + "phi3", + "rwkv", + "vicuna", + "zephyr", + "deepseek-r1", + "deepseek-v3.1", + "qwq", + "qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.description", + "value": "Instruction format type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.enum", + "value": [ + 0, + -1, + -2, + -3, + -5, + -10 + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.description", + "value": "Median (50th percentile)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.description", + "value": "75th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.example", + "value": 35.2, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.description", + "value": "90th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.example", + "value": 48.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.description", + "value": "99th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.example", + "value": 85.3, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.required", + "value": [ + "p50", + "p75", + "p90", + "p99" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.description", + "value": "Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.description", + "value": "The unique identifier for the model (permaslug)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.prompt.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image_token.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.audio_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_audio_cache.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.web_search.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.internal_reasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_cache_read.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_cache_write.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.required", + "value": [ + "prompt", + "completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.provider_name.$ref", + "value": "#/components/schemas/ProviderName", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.tag.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.quantization.allOf", + "value": [ + { + "$ref": "#/components/schemas/Quantization" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_prompt_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supported_parameters.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supported_parameters.items.$ref", + "value": "#/components/schemas/Parameter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.status.$ref", + "value": "#/components/schemas/EndpointStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.uptime_last_30m.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.uptime_last_30m.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supports_implicit_caching.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.latency_last_30m.$ref", + "value": "#/components/schemas/PercentileStats", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.throughput_last_30m.allOf", + "value": [ + { + "$ref": "#/components/schemas/PercentileStats" + }, + { + "description": "Throughput percentiles in tokens per second over the last 30 minutes. Throughput measures output token generation speed. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.required", + "value": [ + "name", + "model_id", + "model_name", + "context_length", + "pricing", + "provider_name", + "tag", + "quantization", + "max_completion_tokens", + "max_prompt_tokens", + "supported_parameters", + "uptime_last_30m", + "supports_implicit_caching", + "latency_last_30m", + "throughput_last_30m" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.description", + "value": "Information about a specific model endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.name", + "value": "OpenAI: GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.model_id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.model_name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.provider_name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.tag", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.quantization", + "value": "fp16", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.max_prompt_tokens", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.supported_parameters", + "value": [ + "temperature", + "top_p", + "max_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.status", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.uptime_last_30m", + "value": 99.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.supports_implicit_caching", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p50", + "value": 0.25, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p75", + "value": 0.35, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p90", + "value": 0.48, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p99", + "value": 0.85, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p50", + "value": 45.2, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p75", + "value": 38.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p90", + "value": 28.3, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p99", + "value": 15.1, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.description", + "value": "Unique identifier for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.description", + "value": "Display name of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.example", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.description", + "value": "Unix timestamp of when the model was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.example", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.description", + "value": "Description of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.example", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.architecture.allOf", + "value": [ + { + "$ref": "#/components/schemas/ModelArchitecture" + }, + { + "properties": { + "tokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/ModelGroup" + }, + { + "nullable": true + } + ] + }, + "instruct_type": { + "$ref": "#/components/schemas/InstructType" + }, + "modality": { + "type": "string", + "nullable": true, + "description": "Primary modality of the model", + "example": "text" + }, + "input_modalities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InputModality" + }, + "description": "Supported input modalities" + }, + "output_modalities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OutputModality" + }, + "description": "Supported output modalities" + } + }, + "required": [ + "tokenizer", + "instruct_type", + "modality", + "input_modalities", + "output_modalities" + ], + "example": { + "tokenizer": "GPT", + "instruct_type": "chatml", + "modality": "text" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.items.$ref", + "value": "#/components/schemas/PublicEndpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.description", + "value": "List of available endpoints for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.required", + "value": [ + "id", + "name", + "created", + "description", + "architecture", + "endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.description", + "value": "List of available endpoints for a model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.created", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.description", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.endpoints", + "value": [ + { + "name": "OpenAI: GPT-4", + "model_name": "GPT-4", + "context_length": 8192, + "pricing": { + "prompt": "0.00003", + "completion": "0.00006", + "request": "0", + "image": "0" + }, + "provider_name": "OpenAI", + "tag": "openai", + "quantization": "fp16", + "max_completion_tokens": 4096, + "max_prompt_tokens": 8192, + "supported_parameters": [ + "temperature", + "top_p", + "max_tokens", + "frequency_penalty", + "presence_penalty" + ], + "status": "default", + "uptime_last_30m": 99.5, + "supports_implicit_caching": true, + "latency_last_30m": { + "p50": 0.25, + "p75": 0.35, + "p90": 0.48, + "p99": 0.85 + }, + "throughput_last_30m": { + "p50": 45.2, + "p75": 38.5, + "p90": 28.3, + "p99": 15.1 + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.type", + "value": "http", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.scheme", + "value": "bearer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.description", + "value": "API key as bearer token in Authorization header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.type", + "value": "http", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.scheme", + "value": "bearer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.description", + "value": "API key as bearer token in Authorization header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.x-speakeasy-name-override", + "value": "send", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.tags", + "value": [ + "beta.responses" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.summary", + "value": "Create a response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.description", + "value": "Creates a streaming or non-streaming response using OpenResponses API format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/OpenResponsesRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.description", + "value": "Successful response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/OpenResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/OpenResponsesStreamEvent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.408.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.408.content.application/json.schema.$ref", + "value": "#/components/schemas/RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.413.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.413.content.application/json.schema.$ref", + "value": "#/components/schemas/PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.422.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.422.content.application/json.schema.$ref", + "value": "#/components/schemas/UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.operationId", + "value": "createResponses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.tags", + "value": [ + "Anthropic Messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.summary", + "value": "Create a message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.description", + "value": "Creates a message using the Anthropic Messages API format. Supports text, images, PDFs, tools, and extended thinking.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/AnthropicMessagesRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.description", + "value": "Successful response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/AnthropicMessagesResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.properties.event.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/AnthropicMessagesStreamEvent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "event", + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.description", + "value": "Invalid request error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.description", + "value": "Authentication error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.description", + "value": "Permission denied error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.description", + "value": "Not found error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.description", + "value": "Rate limit error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.description", + "value": "API error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.description", + "value": "Overloaded error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.description", + "value": "Overloaded error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.operationId", + "value": "createMessages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.tags", + "value": [ + "Analytics" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.operationId", + "value": "getUserActivity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.summary", + "value": "Get user activity grouped by endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.description", + "value": "Returns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).", + "example": "2025-08-24" + }, + "required": false, + "description": "Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).", + "name": "date", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.description", + "value": "Returns user activity data grouped by endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.items.$ref", + "value": "#/components/schemas/ActivityItem", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of activity items", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "date": "2025-08-24", + "model": "openai/gpt-4.1", + "model_permaslug": "openai/gpt-4.1-2025-04-14", + "endpoint_id": "550e8400-e29b-41d4-a716-446655440000", + "provider_name": "OpenAI", + "usage": 0.015, + "byok_usage_inference": 0.012, + "requests": 5, + "prompt_tokens": 50, + "completion_tokens": 125, + "reasoning_tokens": 25 + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.400.description", + "value": "Bad Request - Invalid date format or date range", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.403.description", + "value": "Forbidden - Only management keys can fetch activity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-group", + "value": "chat", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-name-override", + "value": "send", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.tags", + "value": [ + "Chat" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.summary", + "value": "Create a chat completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.operationId", + "value": "sendChatCompletionRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.description", + "value": "Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/ChatGenerationParams", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.description", + "value": "Successful chat completion response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ChatResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/ChatStreamingResponseChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.408.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.408.content.application/json.schema.$ref", + "value": "#/components/schemas/RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.413.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.413.content.application/json.schema.$ref", + "value": "#/components/schemas/PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.422.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.422.content.application/json.schema.$ref", + "value": "#/components/schemas/UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.x-speakeasy-name-override", + "value": "getCredits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.tags", + "value": [ + "Credits" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.summary", + "value": "Get remaining credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.operationId", + "value": "getCredits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.description", + "value": "Get total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.description", + "value": "Returns the total credits purchased and used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.description", + "value": "Total credits purchased", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.example", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.description", + "value": "Total credits used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.example", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "total_credits", + "total_usage" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.example.total_credits", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.example.total_usage", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.description", + "value": "Total credits purchased and used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.example.data.total_credits", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.example.data.total_usage", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.403.description", + "value": "Forbidden - Only management keys can fetch credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.security", + "value": [ + { + "bearer": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.x-speakeasy-name-override", + "value": "createCoinbaseCharge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.tags", + "value": [ + "Credits" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.summary", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.operationId", + "value": "createCoinbaseCharge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.description", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/CreateChargeRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.description", + "value": "Returns the calldata to fulfill the transaction", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.deadline.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.fee_amount.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.operator.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.prefix.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient_amount.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient_currency.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.refund_destination.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.signature.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.required", + "value": [ + "deadline", + "fee_amount", + "id", + "operator", + "prefix", + "recipient", + "recipient_amount", + "recipient_currency", + "refund_destination", + "signature" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.chain_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.contract_address.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.sender.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.required", + "value": [ + "chain_id", + "contract_address", + "sender" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.required", + "value": [ + "call_data", + "metadata" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.required", + "value": [ + "transfer_intent" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "created_at", + "expires_at", + "web3_data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.400.description", + "value": "Bad Request - Invalid credit amount or request body", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.x-speakeasy-name-override", + "value": "generate", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.tags", + "value": [ + "Embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.summary", + "value": "Submit an embedding request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.description", + "value": "Submits an embedding request to the embeddings router", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.input.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image_url" + ] + }, + "image_url": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + } + }, + "required": [ + "type", + "image_url" + ] + } + ] + } + } + }, + "required": [ + "content" + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.encoding_format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.encoding_format.enum", + "value": [ + "float", + "base64" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.provider.$ref", + "value": "#/components/schemas/ProviderPreferences", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.input_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.required", + "value": [ + "input", + "model" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.description", + "value": "Embedding response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.object.enum", + "value": [ + "list" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.object.enum", + "value": [ + "embedding" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.embedding.anyOf", + "value": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "object", + "embedding" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.required", + "value": [ + "prompt_tokens", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.required", + "value": [ + "object", + "data", + "model" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.schema.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.schema.description", + "value": "Not used for embeddings - embeddings do not support streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.524.description", + "value": "Cloudflare Timeout - Provider request timed out at CDN edge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.operationId", + "value": "createEmbeddings", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.tags", + "value": [ + "Embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.x-speakeasy-name-override", + "value": "listModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.summary", + "value": "List all embeddings models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.description", + "value": "Returns a list of all available embeddings models and their properties", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.200.description", + "value": "Returns a list of embeddings models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.operationId", + "value": "listEmbeddingsModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.tags", + "value": [ + "Generations" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.summary", + "value": "Get request & usage metadata for a generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "minLength": 1 + }, + "required": true, + "name": "id", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.description", + "value": "Returns the request metadata for this generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.description", + "value": "Upstream provider's identifier for this generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.example", + "value": "chatcmpl-791bcf62-080e-4568-87d0-94c72e3b4946", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.description", + "value": "Total cost of the generation in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.example", + "value": 0.0015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.description", + "value": "Discount applied due to caching", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.example", + "value": 0.0002, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.description", + "value": "Cost charged by the upstream provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.example", + "value": 0.0012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the generation was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2024-07-15T23:33:19.433273+00:00", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.description", + "value": "Model used for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.example", + "value": "sao10k/l3-stheno-8b", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.description", + "value": "ID of the app that made the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.example", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.description", + "value": "Whether the response was streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.description", + "value": "Whether the generation was cancelled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.description", + "value": "Name of the provider that served the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.example", + "value": "Infermatic", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.description", + "value": "Total latency in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.example", + "value": 1250, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.description", + "value": "Moderation latency in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.description", + "value": "Time taken for generation in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.example", + "value": 1200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.description", + "value": "Reason the generation finished", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.description", + "value": "Number of tokens in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.description", + "value": "Number of tokens in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.description", + "value": "Native prompt tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.description", + "value": "Native completion tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.description", + "value": "Native completion image tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.description", + "value": "Native reasoning tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.description", + "value": "Native cached tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.description", + "value": "Number of media items in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.example", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.description", + "value": "Number of audio inputs in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.description", + "value": "Number of media items in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.description", + "value": "Number of search results included", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.description", + "value": "Origin URL of the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.example", + "value": "https://openrouter.ai/", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Usage amount in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 0.0015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.description", + "value": "Whether this used bring-your-own-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.description", + "value": "Native finish reason as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.description", + "value": "External user identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.example", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.enum", + "value": [ + "completions", + "embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.description", + "value": "Type of API used for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.description", + "value": "Router used for the request (e.g., openrouter/auto)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.example", + "value": "openrouter/auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.endpoint_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.model_permaslug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.provider_name.enum", + "value": [ + "AnyScale", + "Atoma", + "Cent-ML", + "CrofAI", + "Enfer", + "GoPomelo", + "HuggingFace", + "Hyperbolic 2", + "InoCloud", + "Kluster", + "Lambda", + "Lepton", + "Lynn 2", + "Lynn", + "Mancer", + "Meta", + "Modal", + "Nineteen", + "OctoAI", + "Recursal", + "Reflection", + "Replicate", + "SambaNova 2", + "SF Compute", + "Targon", + "Together 2", + "Ubicloud", + "01.AI", + "AI21", + "AionLabs", + "Alibaba", + "Ambient", + "Amazon Bedrock", + "Amazon Nova", + "Anthropic", + "Arcee AI", + "AtlasCloud", + "Avian", + "Azure", + "BaseTen", + "BytePlus", + "Black Forest Labs", + "Cerebras", + "Chutes", + "Cirrascale", + "Clarifai", + "Cloudflare", + "Cohere", + "Crusoe", + "DeepInfra", + "DeepSeek", + "Featherless", + "Fireworks", + "Friendli", + "GMICloud", + "Google", + "Google AI Studio", + "Groq", + "Hyperbolic", + "Inception", + "Inceptron", + "InferenceNet", + "Ionstream", + "Infermatic", + "Io Net", + "Inflection", + "Liquid", + "Mara", + "Mancer 2", + "Minimax", + "ModelRun", + "Mistral", + "Modular", + "Moonshot AI", + "Morph", + "NCompass", + "Nebius", + "NextBit", + "Novita", + "Nvidia", + "OpenAI", + "OpenInference", + "Parasail", + "Perplexity", + "Phala", + "Relace", + "SambaNova", + "Seed", + "SiliconFlow", + "Sourceful", + "StepFun", + "Stealth", + "StreamLake", + "Switchpoint", + "Together", + "Upstage", + "Venice", + "WandB", + "Xiaomi", + "xAI", + "Z.AI", + "FakeProvider" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.status.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.status.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.is_byok.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.required", + "value": [ + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.description", + "value": "List of provider responses for this generation, including fallback attempts", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "upstream_id", + "total_cost", + "cache_discount", + "upstream_inference_cost", + "created_at", + "model", + "app_id", + "streamed", + "cancelled", + "provider_name", + "latency", + "moderation_latency", + "generation_time", + "finish_reason", + "tokens_prompt", + "tokens_completion", + "native_tokens_prompt", + "native_tokens_completion", + "native_tokens_completion_images", + "native_tokens_reasoning", + "native_tokens_cached", + "num_media_prompt", + "num_input_audio_prompt", + "num_media_completion", + "num_search_results", + "origin", + "usage", + "is_byok", + "native_finish_reason", + "external_user", + "api_type", + "router", + "provider_responses" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.description", + "value": "Generation data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.description", + "value": "Generation response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.404.description", + "value": "Not Found - Generation not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.operationId", + "value": "getGeneration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.x-speakeasy-name-override", + "value": "count", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.summary", + "value": "Get total count of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.200.description", + "value": "Returns the total count of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsCountResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.operationId", + "value": "listModelsCount", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.summary", + "value": "List all models and their properties", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "enum": [ + "programming", + "roleplay", + "marketing", + "marketing/seo", + "technology", + "science", + "translation", + "legal", + "finance", + "health", + "trivia", + "academia" + ], + "description": "Filter models by use case category", + "example": "programming" + }, + "required": false, + "description": "Filter models by use case category", + "name": "category", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "supported_parameters", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "use_rss", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "use_rss_chat_links", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.200.description", + "value": "Returns a list of models or RSS feed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.200.content.application/rss+xml.schema.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.operationId", + "value": "getModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.x-speakeasy-name-override", + "value": "listForUser", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.description", + "value": "List models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing).", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.summary", + "value": "List models filtered by user provider preferences, privacy settings, and guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.security", + "value": [ + { + "bearer": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.200.description", + "value": "Returns a list of models filtered by user provider preferences", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.404.description", + "value": "Not Found - No eligible endpoints found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.operationId", + "value": "listModelsUser", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.tags", + "value": [ + "Endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.operationId", + "value": "listEndpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.summary", + "value": "List all endpoints for a model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.parameters", + "value": [ + { + "schema": { + "type": "string" + }, + "required": true, + "name": "author", + "in": "path" + }, + { + "schema": { + "type": "string" + }, + "required": true, + "name": "slug", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.description", + "value": "Returns a list of endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.properties.data.$ref", + "value": "#/components/schemas/ListEndpointsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.404.description", + "value": "Not Found - Model does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.tags", + "value": [ + "Endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.x-speakeasy-name-override", + "value": "listZdrEndpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.summary", + "value": "Preview the impact of ZDR on the available endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.description", + "value": "Returns a list of endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.properties.data.items.$ref", + "value": "#/components/schemas/PublicEndpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.operationId", + "value": "listEndpointsZdr", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.tags", + "value": [ + "Providers" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.summary", + "value": "List all providers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.operationId", + "value": "listProviders", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.description", + "value": "Returns a list of providers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Display name of the provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.description", + "value": "URL-friendly identifier for the provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.example", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.description", + "value": "URL to the provider's privacy policy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.example", + "value": "https://openai.com/privacy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.description", + "value": "URL to the provider's terms of service", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.example", + "value": "https://openai.com/terms", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.description", + "value": "URL to the provider's status page", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.example", + "value": "https://status.openai.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "name", + "slug", + "privacy_policy_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.slug", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.privacy_policy_url", + "value": "https://openai.com/privacy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.terms_of_service_url", + "value": "https://openai.com/terms", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.status_page_url", + "value": "https://status.openai.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.operationId", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.summary", + "value": "List API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.description", + "value": "List all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Whether to include disabled API keys in the response", + "example": "false" + }, + "required": false, + "description": "Whether to include disabled API keys in the response", + "name": "include_disabled", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Number of API keys to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of API keys to skip for pagination", + "name": "offset", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.description", + "value": "List of API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "name": "My Production Key", + "label": "Production API Key", + "disabled": false, + "limit": 100, + "limit_remaining": 74.5, + "limit_reset": "monthly", + "include_byok_in_limit": false, + "usage": 25.5, + "usage_daily": 25.5, + "usage_weekly": 25.5, + "usage_monthly": 25.5, + "byok_usage": 17.38, + "byok_usage_daily": 17.38, + "byok_usage_weekly": 17.38, + "byok_usage_monthly": 17.38, + "created_at": "2025-08-24T10:30:00Z", + "updated_at": "2025-08-24T15:45:00Z", + "expires_at": "2027-12-31T23:59:59Z" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.summary", + "value": "Create a new API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.description", + "value": "Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.description", + "value": "Name for the new API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.example", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.description", + "value": "Optional spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.description", + "value": "Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.description", + "value": "Whether to include BYOK usage in the limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.description", + "value": "Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.name", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.limit", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.description", + "value": "API key created successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.description", + "value": "The created API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.description", + "value": "The actual API key string (only shown once)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.example", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.required", + "value": [ + "data", + "key" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.name", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.label", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit_remaining", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_daily", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_weekly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_monthly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_daily", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_weekly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_monthly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.updated_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.key", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.operationId", + "value": "createKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.x-speakeasy-name-override", + "value": "update", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.summary", + "value": "Update an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.description", + "value": "Update an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to update", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to update", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.description", + "value": "New name for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.example", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.description", + "value": "Whether to disable the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.description", + "value": "New spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.example", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.description", + "value": "New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.example", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.description", + "value": "Whether to include BYOK usage in the limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.name", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.limit", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.limit_reset", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.description", + "value": "API key updated successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.description", + "value": "The updated API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.name", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.label", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 49.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T16:00:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.expires_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.operationId", + "value": "updateKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.x-speakeasy-name-override", + "value": "delete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.summary", + "value": "Delete an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.description", + "value": "Delete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to delete", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to delete", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.description", + "value": "API key deleted successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.const", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.description", + "value": "Confirmation that the API key was deleted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.required", + "value": [ + "deleted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.example.deleted", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.operationId", + "value": "deleteKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.operationId", + "value": "getKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.x-speakeasy-name-override", + "value": "get", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.summary", + "value": "Get a single API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.description", + "value": "Get a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to retrieve", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to retrieve", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.description", + "value": "API key details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.description", + "value": "The API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.label", + "value": "Production API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.operationId", + "value": "listGuardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.summary", + "value": "List guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.description", + "value": "List all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.description", + "value": "List of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "id": "550e8400-e29b-41d4-a716-446655440000", + "name": "Production Guardrail", + "description": "Guardrail for production environment", + "limit_usd": 100, + "reset_interval": "monthly", + "allowed_providers": [ + "openai", + "anthropic", + "google" + ], + "allowed_models": null, + "enforce_zdr": false, + "created_at": "2025-08-24T10:30:00Z", + "updated_at": "2025-08-24T15:45:00Z" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.example.total_count", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.operationId", + "value": "createGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.summary", + "value": "Create a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.description", + "value": "Create a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.maxLength", + "value": 200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.description", + "value": "Name for the new guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.example", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.maxLength", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.example", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.description", + "value": "Array of model identifiers (slug or canonical_slug accepted)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.name", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.description", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.limit_usd", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.description", + "value": "Guardrail created successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.description", + "value": "The created guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.name", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.description", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.limit_usd", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.updated_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.operationId", + "value": "getGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.x-speakeasy-name-override", + "value": "get", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.summary", + "value": "Get a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.description", + "value": "Get a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to retrieve", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to retrieve", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.description", + "value": "Guardrail details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.description", + "value": "The guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.operationId", + "value": "updateGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.x-speakeasy-name-override", + "value": "update", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.summary", + "value": "Update a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.description", + "value": "Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to update", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to update", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.maxLength", + "value": 200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.description", + "value": "New name for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.example", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.maxLength", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.description", + "value": "New description for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.example", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.description", + "value": "New spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.example", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.description", + "value": "New list of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.description", + "value": "Array of model identifiers (slug or canonical_slug accepted)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.name", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.description", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.limit_usd", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.reset_interval", + "value": "weekly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.description", + "value": "Guardrail updated successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.description", + "value": "The updated guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.name", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.description", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.limit_usd", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.reset_interval", + "value": "weekly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.enforce_zdr", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T16:00:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.operationId", + "value": "deleteGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.x-speakeasy-name-override", + "value": "delete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.summary", + "value": "Delete a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.description", + "value": "Delete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to delete", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to delete", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.description", + "value": "Guardrail deleted successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.const", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.description", + "value": "Confirmation that the guardrail was deleted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.required", + "value": [ + "deleted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.example.deleted", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.operationId", + "value": "listKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.x-speakeasy-name-override", + "value": "listKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.summary", + "value": "List all key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.description", + "value": "List all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.description", + "value": "Hash of the assigned API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.example", + "value": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.example", + "value": "Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.description", + "value": "Label of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.example", + "value": "prod-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "key_hash", + "guardrail_id", + "key_name", + "key_label", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of key assignments for this guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.operationId", + "value": "listMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.x-speakeasy-name-override", + "value": "listMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.summary", + "value": "List all member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.description", + "value": "List all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.description", + "value": "Clerk user ID of the assigned member", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.description", + "value": "Organization ID", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.example", + "value": "org_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "user_id", + "organization_id", + "guardrail_id", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.operationId", + "value": "listGuardrailKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.x-speakeasy-name-override", + "value": "listGuardrailKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.summary", + "value": "List key assignments for a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.description", + "value": "List all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + }, + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.description", + "value": "Hash of the assigned API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.example", + "value": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.example", + "value": "Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.description", + "value": "Label of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.example", + "value": "prod-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "key_hash", + "guardrail_id", + "key_name", + "key_label", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of key assignments for this guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.operationId", + "value": "bulkAssignKeysToGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.x-speakeasy-name-override", + "value": "bulkAssignKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.summary", + "value": "Bulk assign keys to a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.description", + "value": "Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.description", + "value": "Array of API key hashes to assign to the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.example", + "value": [ + "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.required", + "value": [ + "key_hashes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.description", + "value": "Assignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.description", + "value": "Number of keys successfully assigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.required", + "value": [ + "assigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.operationId", + "value": "listGuardrailMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.x-speakeasy-name-override", + "value": "listGuardrailMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.summary", + "value": "List member assignments for a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.description", + "value": "List all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + }, + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.description", + "value": "Clerk user ID of the assigned member", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.description", + "value": "Organization ID", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.example", + "value": "org_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "user_id", + "organization_id", + "guardrail_id", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.operationId", + "value": "bulkAssignMembersToGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.x-speakeasy-name-override", + "value": "bulkAssignMembers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.summary", + "value": "Bulk assign members to a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.description", + "value": "Assign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.description", + "value": "Array of member user IDs to assign to the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.example", + "value": [ + "user_abc123", + "user_def456" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.required", + "value": [ + "member_user_ids" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.description", + "value": "Assignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.description", + "value": "Number of members successfully assigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.example", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.required", + "value": [ + "assigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.operationId", + "value": "bulkUnassignKeysFromGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.x-speakeasy-name-override", + "value": "bulkUnassignKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.summary", + "value": "Bulk unassign keys from a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.description", + "value": "Unassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.description", + "value": "Array of API key hashes to unassign from the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.example", + "value": [ + "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.required", + "value": [ + "key_hashes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.description", + "value": "Unassignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.description", + "value": "Number of keys successfully unassigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.required", + "value": [ + "unassigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.operationId", + "value": "bulkUnassignMembersFromGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.x-speakeasy-name-override", + "value": "bulkUnassignMembers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.summary", + "value": "Bulk unassign members from a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.description", + "value": "Unassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.description", + "value": "Array of member user IDs to unassign from the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.example", + "value": [ + "user_abc123", + "user_def456" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.required", + "value": [ + "member_user_ids" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.description", + "value": "Unassignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.description", + "value": "Number of members successfully unassigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.example", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.required", + "value": [ + "unassigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.operationId", + "value": "getCurrentKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.x-speakeasy-name-override", + "value": "getCurrentKeyMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.summary", + "value": "Get current API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.description", + "value": "Get information on the API key associated with the current authentication session", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.description", + "value": "API key details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.description", + "value": "Whether this is a free tier API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.description", + "value": "Whether this is a management key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.description", + "value": "Whether this is a management key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.description", + "value": "Number of requests allowed per interval", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.description", + "value": "Rate limit interval", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.example", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.description", + "value": "Note about the rate limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.example", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.required", + "value": [ + "requests", + "interval", + "note" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.description", + "value": "Legacy rate limit information about a key. Will always return -1.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "label", + "limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "is_free_tier", + "is_management_key", + "is_provisioning_key", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "rate_limit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.description", + "value": "Current API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-au7...890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_free_tier", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_management_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_provisioning_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.label", + "value": "sk-or-v1-au7...890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_free_tier", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_management_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_provisioning_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.operationId", + "value": "exchangeAuthCodeForAPIKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.tags", + "value": [ + "OAuth" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.summary", + "value": "Exchange authorization code for API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.description", + "value": "Exchange an authorization code from the PKCE flow for a user-controlled API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.description", + "value": "The authorization code received from the OAuth redirect", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.example", + "value": "auth_code_abc123def456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.description", + "value": "The code verifier if code_challenge was used in the authorization request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.example", + "value": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.enum", + "value": [ + "S256", + "plain" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.description", + "value": "The method used to generate the code challenge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.example", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.required", + "value": [ + "code" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code", + "value": "auth_code_abc123def456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code_verifier", + "value": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code_challenge_method", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.description", + "value": "Successfully exchanged code for an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.description", + "value": "The API key to use for OpenRouter requests", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.example", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.description", + "value": "User ID associated with the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.example", + "value": "user_2yOPcMpKoQhcd4bVgSMlELRaIah", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.required", + "value": [ + "key", + "user_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.example.key", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.example.user_id", + "value": "user_2yOPcMpKoQhcd4bVgSMlELRaIah", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.403.description", + "value": "Forbidden - Authentication successful but insufficient permissions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.x-speakeasy-name-override", + "value": "createAuthCode", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.tags", + "value": [ + "OAuth" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.summary", + "value": "Create authorization code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.description", + "value": "Create an authorization code for the PKCE flow to generate a user-controlled API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.format", + "value": "uri", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.description", + "value": "The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.example", + "value": "https://myapp.com/auth/callback", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.description", + "value": "PKCE code challenge for enhanced security", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.example", + "value": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.enum", + "value": [ + "S256", + "plain" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.description", + "value": "The method used to generate the code challenge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.example", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.description", + "value": "Credit limit for the API key to be created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.description", + "value": "Optional expiration time for the API key to be created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.maxLength", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.description", + "value": "Optional custom label for the API key. Defaults to the app name if not provided.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.example", + "value": "My Custom Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.description", + "value": "Optional credit limit reset interval. When set, the credit limit resets on this interval.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.description", + "value": "Agent identifier for spawn telemetry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.description", + "value": "Cloud identifier for spawn telemetry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.required", + "value": [ + "callback_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.callback_url", + "value": "https://myapp.com/auth/callback", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.code_challenge", + "value": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.code_challenge_method", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.description", + "value": "Successfully created authorization code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "The authorization code ID to use in the exchange request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "auth_code_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.description", + "value": "The application ID associated with this auth code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.example", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the auth code was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "app_id", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.description", + "value": "Auth code data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.id", + "value": "auth_code_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.app_id", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.operationId", + "value": "createAuthKeysCode", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "tags", + "value": [ + { + "name": "API Keys", + "description": "API key management endpoints" + }, + { + "name": "Analytics", + "description": "Analytics and usage endpoints" + }, + { + "name": "Anthropic Messages", + "description": "Anthropic Messages endpoints" + }, + { + "name": "Chat", + "description": "Chat completion endpoints" + }, + { + "name": "Credits", + "description": "Credit management endpoints" + }, + { + "name": "Embeddings", + "description": "Text embedding endpoints" + }, + { + "name": "Endpoints", + "description": "Endpoint information" + }, + { + "name": "Generations", + "description": "Generation history endpoints" + }, + { + "name": "Guardrails", + "description": "Guardrails endpoints" + }, + { + "name": "Models", + "description": "Model information endpoints" + }, + { + "name": "OAuth", + "description": "OAuth authentication endpoints" + }, + { + "name": "Providers", + "description": "Provider information endpoints" + }, + { + "name": "beta.responses", + "description": "beta.responses endpoints" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "x-fern-base-path", + "value": "/", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.type", + "value": "exponential", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.initialDelay", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.maxDelay", + "value": 60000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.maxAttempts", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/out.openapi.yaml", + "relative_path": ".speakeasy/out.openapi.yaml", + "type": "yaml", + "purpose": "api_configuration", + "patterns": [], + "settings_count": 5256, + "settings": [ + { + "key": "openapi", + "value": "3.1.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.title", + "value": "OpenRouter API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.version", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.description", + "value": "OpenAI-compatible API with additional OpenRouter features", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.name", + "value": "OpenRouter Support", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.contact.email", + "value": "support@openrouter.ai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.license.name", + "value": "MIT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.license.url", + "value": "https://opensource.org/licenses/MIT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "servers", + "value": [ + { + "url": "https://openrouter.ai/api/v1", + "description": "Production server", + "x-speakeasy-server-id": "production" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "security", + "value": [ + { + "apiKey": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "externalDocs.description", + "value": "OpenRouter Documentation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "externalDocs.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesResponseStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesResponseStatus.enum", + "value": [ + "completed", + "incomplete", + "in_progress", + "failed", + "cancelled", + "queued" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesResponseStatus.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.type.enum", + "value": [ + "file_citation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.filename.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.required", + "value": [ + "type", + "file_id", + "filename", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.type", + "value": "file_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.file_id", + "value": "file-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.filename", + "value": "research_paper.pdf", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FileCitation.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.type.enum", + "value": [ + "url_citation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.title.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.start_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.properties.end_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.required", + "value": [ + "type", + "url", + "title", + "start_index", + "end_index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.type", + "value": "url_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.start_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.end_index", + "value": 42, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.title", + "value": "OpenRouter Documentation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.URLCitation.example.url", + "value": "https://openrouter.ai/docs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.type.enum", + "value": [ + "file_path" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.required", + "value": [ + "type", + "file_id", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.type", + "value": "file_path", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.file_id", + "value": "file-xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.FilePath.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesAnnotation.anyOf", + "value": [ + { + "$ref": "#/components/schemas/FileCitation" + }, + { + "$ref": "#/components/schemas/URLCitation" + }, + { + "$ref": "#/components/schemas/FilePath" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.type.enum", + "value": [ + "output_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.annotations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.annotations.items.$ref", + "value": "#/components/schemas/OpenAIResponsesAnnotation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.properties.top_logprobs.items.required", + "value": [ + "token", + "bytes", + "logprob" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.properties.logprobs.items.required", + "value": [ + "token", + "bytes", + "logprob", + "top_logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.text", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseOutputText.example.annotations", + "value": [ + { + "type": "url_citation", + "start_index": 0, + "end_index": 42, + "title": "Paris - Wikipedia", + "url": "https://en.wikipedia.org/wiki/Paris" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.type.enum", + "value": [ + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.required", + "value": [ + "type", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.example.type", + "value": "refusal", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesRefusalContent.example.refusal", + "value": "I'm sorry, I cannot assist with that request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.properties.content.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.required", + "value": [ + "id", + "role", + "type", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.id", + "value": "msg-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputMessage.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.id", + "value": "msg-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputMessage.description", + "value": "An output message item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.type.enum", + "value": [ + "reasoning_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.example.type", + "value": "reasoning_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningTextContent.example.text", + "value": "Let me think step by step about this problem...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.type.enum", + "value": [ + "summary_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.example.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryText.example.text", + "value": "Analyzed the problem using first principles", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.type.enum", + "value": [ + "reasoning" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.content.items.$ref", + "value": "#/components/schemas/ReasoningTextContent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.summary.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.summary.items.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.encrypted_content.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.encrypted_content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.required", + "value": [ + "type", + "id", + "summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.id", + "value": "reasoning-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Analyzed the problem using first principles" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/ReasoningTextContent" + } + }, + "signature": { + "type": "string", + "nullable": true, + "description": "A signature for the reasoning content, used for verification", + "example": "EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj..." + }, + "format": { + "type": "string", + "nullable": true, + "enum": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "description": "The format of the reasoning content", + "example": "anthropic-claude-v1", + "x-speakeasy-unknown-values": "allow" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.id", + "value": "reasoning-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Analyzed the problem and found the optimal solution." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.content", + "value": [ + { + "type": "reasoning_text", + "text": "First, we analyze the problem..." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.signature", + "value": "EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.example.format", + "value": "anthropic-claude-v1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemReasoning.description", + "value": "An output item containing reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.type.enum", + "value": [ + "function_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.properties.status.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "completed" + ] + }, + { + "type": "string", + "enum": [ + "incomplete" + ] + }, + { + "type": "string", + "enum": [ + "in_progress" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.required", + "value": [ + "type", + "name", + "arguments", + "call_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.arguments", + "value": "{\"location\":\"San Francisco\",\"unit\":\"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFunctionCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.arguments", + "value": "{\"location\":\"San Francisco\",\"unit\":\"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFunctionCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.enum", + "value": [ + "completed", + "searching", + "in_progress", + "failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchStatus.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.type.enum", + "value": [ + "web_search_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.properties.status.$ref", + "value": "#/components/schemas/WebSearchStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.required", + "value": [ + "type", + "id", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.type", + "value": "web_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.id", + "value": "search-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemWebSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.type", + "value": "web_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.id", + "value": "search-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchCallOutput.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.type.enum", + "value": [ + "file_search_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.queries.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.queries.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.properties.status.$ref", + "value": "#/components/schemas/WebSearchStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.required", + "value": [ + "type", + "id", + "queries", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.type", + "value": "file_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.id", + "value": "filesearch-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.queries", + "value": [ + "machine learning algorithms", + "neural networks" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemFileSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.type", + "value": "file_search_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.id", + "value": "filesearch-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.queries", + "value": [ + "machine learning algorithms", + "neural networks" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItemFileSearchCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.enum", + "value": [ + "in_progress", + "completed", + "generating", + "failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ImageGenerationStatus.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.type.enum", + "value": [ + "image_generation_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.result.default", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.properties.status.$ref", + "value": "#/components/schemas/ImageGenerationStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.required", + "value": [ + "type", + "id", + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.type", + "value": "image_generation_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.id", + "value": "imagegen-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.result", + "value": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputItemImageGenerationCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.type", + "value": "image_generation_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.id", + "value": "imagegen-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.result", + "value": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesImageGenerationCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponsesOutputMessage" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemReasoning" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/ResponsesWebSearchCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/ResponsesImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.description", + "value": "An output item from the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.id", + "value": "msg-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputItem.example.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.code.enum", + "value": [ + "server_error", + "rate_limit_exceeded", + "invalid_prompt", + "vector_store_timeout", + "invalid_image", + "invalid_image_format", + "invalid_base64_image", + "invalid_image_url", + "image_too_large", + "image_too_small", + "image_parse_error", + "image_content_policy_violation", + "invalid_image_mode", + "image_file_too_large", + "unsupported_image_media_type", + "empty_image_file", + "failed_to_download_image", + "image_file_not_found" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.code.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.description", + "value": "Error information returned from the API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesErrorField.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.properties.reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.properties.reason.enum", + "value": [ + "max_output_tokens", + "content_filter" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncompleteDetails.properties.reason.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.properties.cached_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.input_tokens_details.required", + "value": [ + "cached_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.output_tokens_details.required", + "value": [ + "reasoning_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesUsage.required", + "value": [ + "input_tokens", + "input_tokens_details", + "output_tokens", + "output_tokens_details", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesUsage" + }, + { + "type": "object", + "nullable": true, + "properties": { + "cost": { + "type": "number", + "nullable": true, + "description": "Cost of the completion" + }, + "is_byok": { + "type": "boolean", + "description": "Whether a request was made using a Bring Your Own Key configuration" + }, + "cost_details": { + "type": "object", + "properties": { + "upstream_inference_cost": { + "type": "number", + "nullable": true + }, + "upstream_inference_input_cost": { + "type": "number" + }, + "upstream_inference_output_cost": { + "type": "number" + } + }, + "required": [ + "upstream_inference_input_cost", + "upstream_inference_output_cost" + ] + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.description", + "value": "Token usage information for the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.input_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.output_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.total_tokens", + "value": 35, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.input_tokens_details.cached_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.output_tokens_details.reasoning_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost", + "value": 0.0012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_cost", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_input_cost", + "value": 0.0008, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesUsage.example.cost_details.upstream_inference_output_cost", + "value": 0.0004, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.type.enum", + "value": [ + "input_text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.description", + "value": "Text input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.example.type", + "value": "input_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputText.example.text", + "value": "Hello, how can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.type.enum", + "value": [ + "input_image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.detail.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.detail.enum", + "value": [ + "auto", + "high", + "low" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.detail.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.image_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.properties.image_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.required", + "value": [ + "type", + "detail" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.description", + "value": "Image input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.type", + "value": "input_image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.detail", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputImage.example.image_url", + "value": "https://example.com/image.jpg", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.type.enum", + "value": [ + "input_file" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.filename.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.properties.file_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.description", + "value": "File input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.type", + "value": "input_file", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.file_id", + "value": "file-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputFile.example.filename", + "value": "document.pdf", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.type.enum", + "value": [ + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.format.enum", + "value": [ + "mp3", + "wav" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.properties.format.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.properties.input_audio.required", + "value": [ + "data", + "format" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.required", + "value": [ + "type", + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.description", + "value": "Audio input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.type", + "value": "input_audio", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.input_audio.data", + "value": "SGVsbG8gV29ybGQ=", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputAudio.example.input_audio.format", + "value": "mp3", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.enum", + "value": [ + "in_progress", + "completed", + "incomplete" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.example", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolCallStatus.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesInput.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "anyOf": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "assistant" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ] + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_text": "#/components/schemas/ResponseInputText", + "input_image": "#/components/schemas/ResponseInputImage", + "input_file": "#/components/schemas/ResponseInputFile", + "input_audio": "#/components/schemas/ResponseInputAudio" + } + } + } + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "role", + "content" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "anyOf": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ] + }, + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_text": "#/components/schemas/ResponseInputText", + "input_image": "#/components/schemas/ResponseInputImage", + "input_file": "#/components/schemas/ResponseInputFile", + "input_audio": "#/components/schemas/ResponseInputAudio" + } + } + } + } + }, + "required": [ + "id", + "role", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function_call_output" + ] + }, + "id": { + "type": "string", + "nullable": true + }, + "call_id": { + "type": "string" + }, + "output": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/ToolCallStatus" + } + }, + "required": [ + "type", + "call_id", + "output" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function_call" + ] + }, + "call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "arguments": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/ToolCallStatus" + } + }, + "required": [ + "type", + "call_id", + "name", + "arguments" + ] + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + }, + { + "$ref": "#/components/schemas/OutputMessage" + } + ] + } + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.additionalProperties.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.additionalProperties.maxLength", + "value": 512, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.description", + "value": "Metadata key-value pairs for the request. Keys must be \u226464 characters and cannot contain brackets. Values must be \u2264512 characters. Maximum 16 pairs allowed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.example.user_id", + "value": "123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequestMetadata.example.session_id", + "value": "abc-def-ghi", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.properties.parameters.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.required", + "value": [ + "type", + "name", + "parameters" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.description", + "value": "Function tool definition", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.description", + "value": "Get the current weather in a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.location.description", + "value": "The city and state", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.unit.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.unit.enum", + "value": [ + "celsius", + "fahrenheit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.properties.unit.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionTool.example.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.enum", + "value": [ + "low", + "medium", + "high" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.description", + "value": "Size of the search context for web search tools", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesSearchContextSize.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.type.enum", + "value": [ + "approximate" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.city.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.city.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.country.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.country.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.region.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.region.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.timezone.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.properties.timezone.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchPreviewToolUserLocation.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.type.enum", + "value": [ + "web_search_preview" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.properties.user_location.$ref", + "value": "#/components/schemas/WebSearchPreviewToolUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.description", + "value": "Web search preview tool configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreviewTool.example.type", + "value": "web_search_preview", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.type.enum", + "value": [ + "web_search_preview_2025_03_11" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.properties.user_location.$ref", + "value": "#/components/schemas/WebSearchPreviewToolUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.description", + "value": "Web search preview tool configuration (2025-03-11 version)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchPreview20250311Tool.example.type", + "value": "web_search_preview_2025_03_11", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.type.enum", + "value": [ + "approximate" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.city.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.city.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.country.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.country.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.region.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.region.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.timezone.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.properties.timezone.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.description", + "value": "User location information for web search", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.type", + "value": "approximate", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.city", + "value": "San Francisco", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.country", + "value": "USA", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.region", + "value": "California", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesWebSearchUserLocation.example.timezone", + "value": "America/Los_Angeles", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.type.enum", + "value": [ + "web_search" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.filters.properties.allowed_domains.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.properties.user_location.$ref", + "value": "#/components/schemas/ResponsesWebSearchUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.description", + "value": "Web search tool configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.example.type", + "value": "web_search", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearchTool.example.filters.allowed_domains", + "value": [ + "example.com" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.type.enum", + "value": [ + "web_search_2025_08_26" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.filters.properties.allowed_domains.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.search_context_size.$ref", + "value": "#/components/schemas/ResponsesSearchContextSize", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.properties.user_location.$ref", + "value": "#/components/schemas/ResponsesWebSearchUserLocation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.description", + "value": "Web search tool configuration (2025-08-26 version)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.example.type", + "value": "web_search_2025_08_26", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesWebSearch20250826Tool.example.filters.allowed_domains", + "value": [ + "example.com" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesToolChoice.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "auto" + ] + }, + { + "type": "string", + "enum": [ + "none" + ] + }, + { + "type": "string", + "enum": [ + "required" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "anyOf": [ + { + "type": "string", + "enum": [ + "web_search_preview_2025_03_11" + ] + }, + { + "type": "string", + "enum": [ + "web_search_preview" + ] + } + ] + } + }, + "required": [ + "type" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.properties.variables.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesPrompt.required", + "value": [ + "id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.enum", + "value": [ + "xhigh", + "high", + "medium", + "low", + "minimal", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningEffort.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.enum", + "value": [ + "auto", + "concise", + "detailed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.example", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningSummaryVerbosity.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.properties.effort.$ref", + "value": "#/components/schemas/OpenAIResponsesReasoningEffort", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningConfig.properties.summary.$ref", + "value": "#/components/schemas/ReasoningSummaryVerbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.enum", + "value": [ + "auto", + "default", + "flex", + "priority", + "scale" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesServiceTier.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.enum", + "value": [ + "auto", + "disabled" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesTruncation.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.description", + "value": "Plain text response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.type.enum", + "value": [ + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.properties.schema.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.required", + "value": [ + "type", + "name", + "schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.description", + "value": "JSON schema constrained response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.type", + "value": "json_schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.name", + "value": "user_info", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.description", + "value": "User information schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.properties.age.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesFormatTextJSONSchemaConfig.example.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponsesFormatText" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONObject" + }, + { + "$ref": "#/components/schemas/ResponsesFormatTextJSONSchemaConfig" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.description", + "value": "Text response format configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextConfig.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.format.$ref", + "value": "#/components/schemas/ResponseFormatTextConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.enum", + "value": [ + "high", + "low", + "medium" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.properties.verbosity.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.description", + "value": "Text output configuration including format and verbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.example.format.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseTextConfig.example.verbosity", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.object.enum", + "value": [ + "response" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.created_at.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.status.$ref", + "value": "#/components/schemas/OpenAIResponsesResponseStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.completed_at.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.completed_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output.items.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.user.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.output_text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt_cache_key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt_cache_key.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.safety_identifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.safety_identifier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.error.$ref", + "value": "#/components/schemas/ResponsesErrorField", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.incomplete_details.$ref", + "value": "#/components/schemas/OpenAIResponsesIncompleteDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.usage.$ref", + "value": "#/components/schemas/OpenAIResponsesUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_tool_calls.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_logprobs.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.max_output_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.instructions.$ref", + "value": "#/components/schemas/OpenAIResponsesInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.metadata.$ref", + "value": "#/components/schemas/OpenResponsesRequestMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tools.items.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionTool" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Function tool definition", + "example": { + "type": "function", + "name": "get_weather", + "description": "Get the current weather in a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state" + }, + "unit": { + "type": "string", + "enum": [ + "celsius", + "fahrenheit" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "location" + ] + } + } + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreviewTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreview20250311Tool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearch20250826Tool" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.tool_choice.$ref", + "value": "#/components/schemas/OpenAIResponsesToolChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.prompt.$ref", + "value": "#/components/schemas/OpenAIResponsesPrompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.background.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.background.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.previous_response_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.previous_response_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.reasoning.$ref", + "value": "#/components/schemas/OpenAIResponsesReasoningConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.service_tier.$ref", + "value": "#/components/schemas/OpenAIResponsesServiceTier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.store.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.truncation.$ref", + "value": "#/components/schemas/OpenAIResponsesTruncation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.properties.text.$ref", + "value": "#/components/schemas/ResponseTextConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesNonStreamingResponse.required", + "value": [ + "id", + "object", + "created_at", + "model", + "status", + "completed_at", + "output", + "error", + "incomplete_details", + "temperature", + "top_p", + "presence_penalty", + "frequency_penalty", + "instructions", + "metadata", + "tools", + "tool_choice", + "parallel_tool_calls" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesNonStreamingResponse" + }, + { + "type": "object", + "properties": { + "output": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + }, + "usage": { + "$ref": "#/components/schemas/OpenResponsesUsage" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.description", + "value": "Complete non-streaming response from the Responses API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.output", + "value": [ + { + "type": "message", + "id": "msg-abc123", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you today?", + "annotations": [] + } + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.input_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.output_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.total_tokens", + "value": 35, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.input_tokens_details.cached_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.usage.output_tokens_details.reasoning_tokens", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesNonStreamingResponse.example.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.type.enum", + "value": [ + "response.created" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.description", + "value": "Event emitted when a response is created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.type", + "value": "response.created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCreatedEvent.example.sequence_number", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.type.enum", + "value": [ + "response.in_progress" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.description", + "value": "Event emitted when a response is in progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.type", + "value": "response.in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInProgressEvent.example.sequence_number", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.type.enum", + "value": [ + "response.completed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.description", + "value": "Event emitted when a response has completed successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.type", + "value": "response.completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.output", + "value": [ + { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesCompletedEvent.example.sequence_number", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.type.enum", + "value": [ + "response.incomplete" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.description", + "value": "Event emitted when a response is incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.type", + "value": "response.incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.status", + "value": "incomplete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesIncompleteEvent.example.sequence_number", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.type.enum", + "value": [ + "response.failed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.response.$ref", + "value": "#/components/schemas/OpenAIResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.required", + "value": [ + "type", + "response", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.description", + "value": "Event emitted when a response has failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.type", + "value": "response.failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.status", + "value": "failed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFailedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.code.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.param.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.param.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.required", + "value": [ + "type", + "code", + "message", + "param", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.description", + "value": "Event emitted when an error occurs during streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.type", + "value": "error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.param", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesErrorEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesErrorEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.description", + "value": "Event emitted when an error occurs during streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.type", + "value": "error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.code", + "value": "rate_limit_exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.message", + "value": "Rate limit exceeded. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.param", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesErrorEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.type.enum", + "value": [ + "response.output_item.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.item.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.required", + "value": [ + "type", + "output_index", + "item", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.description", + "value": "Event emitted when a new output item is added to the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.type", + "value": "response.output_item.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.item.content", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemAddedEvent.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.type.enum", + "value": [ + "response.output_item.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.oneOf", + "value": [ + { + "$ref": "#/components/schemas/OutputMessage" + }, + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "$ref": "#/components/schemas/OutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/OutputItemWebSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/OutputItemImageGenerationCall" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.message", + "value": "#/components/schemas/OutputMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.reasoning", + "value": "#/components/schemas/OutputItemReasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.function_call", + "value": "#/components/schemas/OutputItemFunctionCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.web_search_call", + "value": "#/components/schemas/OutputItemWebSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.file_search_call", + "value": "#/components/schemas/OutputItemFileSearchCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.item.discriminator.mapping.image_generation_call", + "value": "#/components/schemas/OutputItemImageGenerationCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.required", + "value": [ + "type", + "output_index", + "item", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.description", + "value": "Event emitted when an output item is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.type", + "value": "response.output_item.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.item.content", + "value": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputItemDoneEvent.example.sequence_number", + "value": 8, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.type.enum", + "value": [ + "response.content_part.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.part.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.description", + "value": "Event emitted when a new content part is added to an output item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.type", + "value": "response.content_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.part.annotations", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.type.enum", + "value": [ + "response.content_part.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.part.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.description", + "value": "Event emitted when a content part is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.type", + "value": "response.content_part.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.type", + "value": "output_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.text", + "value": "Hello! How can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.part.annotations", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesContentPartDoneEvent.example.sequence_number", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.description", + "value": "Alternative token with its log probability", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.example.token", + "value": "hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTopLogprobs.example.logprob", + "value": -0.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.properties.top_logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesTopLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.required", + "value": [ + "logprob", + "token" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.description", + "value": "Log probability information for a token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.logprob", + "value": -0.1, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.token", + "value": "world", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesLogProbs.example.top_logprobs", + "value": [ + { + "token": "hello", + "logprob": -0.5 + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.type.enum", + "value": [ + "response.output_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesLogProbs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.required", + "value": [ + "type", + "logprobs", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.description", + "value": "Event emitted when a text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.type", + "value": "response.output_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.logprobs", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.delta", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.type.enum", + "value": [ + "response.output_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.properties.logprobs.items.$ref", + "value": "#/components/schemas/OpenResponsesLogProbs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "text", + "sequence_number", + "logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.description", + "value": "Event emitted when text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.type", + "value": "response.output_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.text", + "value": "Hello! How can I help you?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesTextDoneEvent.example.logprobs", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.type.enum", + "value": [ + "response.refusal.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.description", + "value": "Event emitted when a refusal delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.type", + "value": "response.refusal.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.delta", + "value": "I'm sorry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.type.enum", + "value": [ + "response.refusal.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "refusal", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.description", + "value": "Event emitted when refusal streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.type", + "value": "response.refusal.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.refusal", + "value": "I'm sorry, but I can't assist with that request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRefusalDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.type.enum", + "value": [ + "response.output_text.annotation.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.annotation_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.properties.annotation.$ref", + "value": "#/components/schemas/OpenAIResponsesAnnotation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "sequence_number", + "annotation_index", + "annotation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.description", + "value": "Event emitted when a text annotation is added to output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.type", + "value": "response.output_text.annotation.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.sequence_number", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.type", + "value": "url_citation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.url", + "value": "https://example.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.title", + "value": "Example", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.start_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesOutputTextAnnotationAddedEvent.example.annotation.end_index", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.type.enum", + "value": [ + "response.function_call_arguments.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.description", + "value": "Event emitted when function call arguments are being streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.type", + "value": "response.function_call_arguments.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.delta", + "value": "{\"city\": \"San", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.type.enum", + "value": [ + "response.function_call_arguments.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "name", + "arguments", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.description", + "value": "Event emitted when function call arguments streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.type", + "value": "response.function_call_arguments.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.arguments", + "value": "{\"city\": \"San Francisco\", \"units\": \"celsius\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallArgumentsDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.type.enum", + "value": [ + "response.reasoning_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.description", + "value": "Event emitted when reasoning text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.type", + "value": "response.reasoning_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.delta", + "value": "First, we need", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.description", + "value": "Event emitted when reasoning text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.type", + "value": "response.reasoning_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.delta", + "value": "First, we need", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.content_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "content_index", + "text", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.description", + "value": "Event emitted when reasoning text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.type", + "value": "response.reasoning_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.text", + "value": "First, we need to identify the key components and then combine them logically.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.description", + "value": "Event emitted when reasoning text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.type", + "value": "response.reasoning_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.content_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.text", + "value": "First, we need to identify the key components and then combine them logically.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_part.added" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.part.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "summary_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.description", + "value": "Event emitted when a reasoning summary part is added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.type", + "value": "response.reasoning_summary_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryPartAddedEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.description", + "value": "Event emitted when a reasoning summary part is added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.type", + "value": "response.reasoning_summary_part.added", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.part.text", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartAddedEvent.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_part.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.part.$ref", + "value": "#/components/schemas/ReasoningSummaryText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.required", + "value": [ + "type", + "output_index", + "item_id", + "summary_index", + "part", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.description", + "value": "Event emitted when a reasoning summary part is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.type", + "value": "response.reasoning_summary_part.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.part.type", + "value": "summary_text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.part.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryPartDoneEvent.example.sequence_number", + "value": 7, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_text.delta" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.delta.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "summary_index", + "delta", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.description", + "value": "Event emitted when reasoning summary text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.type", + "value": "response.reasoning_summary_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.delta", + "value": "Analyzing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryTextDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.description", + "value": "Event emitted when reasoning summary text delta is streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.type", + "value": "response.reasoning_summary_text.delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.delta", + "value": "Analyzing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDeltaEvent.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.type.enum", + "value": [ + "response.reasoning_summary_text.done" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.summary_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.required", + "value": [ + "type", + "item_id", + "output_index", + "summary_index", + "text", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.description", + "value": "Event emitted when reasoning summary text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.type", + "value": "response.reasoning_summary_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesReasoningSummaryTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningSummaryTextDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.description", + "value": "Event emitted when reasoning summary text streaming is complete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.type", + "value": "response.reasoning_summary_text.done", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.item_id", + "value": "item-1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.summary_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.text", + "value": "Analyzing the problem step by step to find the optimal solution.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningSummaryTextDoneEvent.example.sequence_number", + "value": 6, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.type.enum", + "value": [ + "response.image_generation_call.in_progress" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallInProgress.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallInProgress" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.description", + "value": "Image generation call in progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.type", + "value": "response.image_generation_call.in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.sequence_number", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallInProgress.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.type.enum", + "value": [ + "response.image_generation_call.generating" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallGenerating.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallGenerating" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.description", + "value": "Image generation call is generating", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.type", + "value": "response.image_generation_call.generating", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.sequence_number", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallGenerating.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.type.enum", + "value": [ + "response.image_generation_call.partial_image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.partial_image_b64.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.properties.partial_image_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallPartialImage.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number", + "partial_image_b64", + "partial_image_index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallPartialImage" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.description", + "value": "Image generation call with partial image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.type", + "value": "response.image_generation_call.partial_image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.sequence_number", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.partial_image_b64", + "value": "base64encodedimage...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallPartialImage.example.partial_image_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.type.enum", + "value": [ + "response.image_generation_call.completed" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.item_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.output_index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.properties.sequence_number.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesImageGenCallCompleted.required", + "value": [ + "type", + "item_id", + "output_index", + "sequence_number" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesImageGenCallCompleted" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.description", + "value": "Image generation call completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.type", + "value": "response.image_generation_call.completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.output_index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.sequence_number", + "value": 4, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesImageGenCallCompleted.example.item_id", + "value": "call-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesCreatedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is created", + "example": { + "type": "response.created", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "in_progress", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 0 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesInProgressEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is in progress", + "example": { + "type": "response.in_progress", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "in_progress", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 1 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesCompletedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response has completed successfully", + "example": { + "type": "response.completed", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "completed", + "output": [ + { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + } + ], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 10 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesIncompleteEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response is incomplete", + "example": { + "type": "response.incomplete", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "incomplete", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 5 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFailedEvent" + }, + { + "type": "object", + "properties": { + "response": { + "$ref": "#/components/schemas/OpenResponsesNonStreamingResponse" + } + } + } + ], + "description": "Event emitted when a response has failed", + "example": { + "type": "response.failed", + "response": { + "id": "resp-abc123", + "object": "response", + "created_at": 1704067200, + "model": "gpt-4", + "status": "failed", + "output": [], + "tools": [], + "tool_choice": "auto", + "parallel_tool_calls": true, + "error": null, + "incomplete_details": null, + "metadata": null, + "instructions": null, + "temperature": null, + "top_p": null, + "max_output_tokens": null + }, + "sequence_number": 3 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesErrorEvent" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputItemAddedEvent" + }, + { + "type": "object", + "properties": { + "item": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + } + } + ], + "description": "Event emitted when a new output item is added to the response", + "example": { + "type": "response.output_item.added", + "output_index": 0, + "item": { + "id": "item-1", + "type": "message", + "status": "in_progress", + "role": "assistant", + "content": [] + }, + "sequence_number": 2 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputItemDoneEvent" + }, + { + "type": "object", + "properties": { + "item": { + "$ref": "#/components/schemas/ResponsesOutputItem" + } + } + } + ], + "description": "Event emitted when an output item is complete", + "example": { + "type": "response.output_item.done", + "output_index": 0, + "item": { + "id": "item-1", + "type": "message", + "status": "completed", + "role": "assistant", + "content": [ + { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + } + ] + }, + "sequence_number": 8 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesContentPartAddedEvent" + }, + { + "type": "object", + "properties": { + "part": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/ReasoningTextContent" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ] + } + } + } + ], + "description": "Event emitted when a new content part is added to an output item", + "example": { + "type": "response.content_part.added", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "part": { + "type": "output_text", + "text": "", + "annotations": [] + }, + "sequence_number": 3 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesContentPartDoneEvent" + }, + { + "type": "object", + "properties": { + "part": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResponseOutputText" + }, + { + "$ref": "#/components/schemas/ReasoningTextContent" + }, + { + "$ref": "#/components/schemas/OpenAIResponsesRefusalContent" + } + ] + } + } + } + ], + "description": "Event emitted when a content part is complete", + "example": { + "type": "response.content_part.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "part": { + "type": "output_text", + "text": "Hello! How can I help you?", + "annotations": [] + }, + "sequence_number": 7 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesTextDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a text delta is streamed", + "example": { + "type": "response.output_text.delta", + "logprobs": [], + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "delta": "Hello", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesTextDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when text streaming is complete", + "example": { + "type": "response.output_text.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "text": "Hello! How can I help you?", + "sequence_number": 6, + "logprobs": [] + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesRefusalDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a refusal delta is streamed", + "example": { + "type": "response.refusal.delta", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "delta": "I'm sorry", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesRefusalDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when refusal streaming is complete", + "example": { + "type": "response.refusal.done", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "refusal": "I'm sorry, but I can't assist with that request.", + "sequence_number": 6 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesOutputTextAnnotationAddedEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a text annotation is added to output", + "example": { + "type": "response.output_text.annotation.added", + "output_index": 0, + "item_id": "item-1", + "content_index": 0, + "sequence_number": 5, + "annotation_index": 0, + "annotation": { + "type": "url_citation", + "url": "https://example.com", + "title": "Example", + "start_index": 0, + "end_index": 7 + } + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallArgumentsDeltaEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when function call arguments are being streamed", + "example": { + "type": "response.function_call_arguments.delta", + "item_id": "item-1", + "output_index": 0, + "delta": "{\"city\": \"San", + "sequence_number": 4 + } + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallArgumentsDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when function call arguments streaming is complete", + "example": { + "type": "response.function_call_arguments.done", + "item_id": "item-1", + "output_index": 0, + "name": "get_weather", + "arguments": "{\"city\": \"San Francisco\", \"units\": \"celsius\"}", + "sequence_number": 6 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningDeltaEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningDoneEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryPartAddedEvent" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryPartDoneEvent" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Event emitted when a reasoning summary part is complete", + "example": { + "type": "response.reasoning_summary_part.done", + "output_index": 0, + "item_id": "item-1", + "summary_index": 0, + "part": { + "type": "summary_text", + "text": "Analyzing the problem step by step to find the optimal solution." + }, + "sequence_number": 7 + } + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryTextDeltaEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesReasoningSummaryTextDoneEvent" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallInProgress" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallGenerating" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallPartialImage" + }, + { + "$ref": "#/components/schemas/OpenResponsesImageGenCallCompleted" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.description", + "value": "Union of all possible event types emitted during response streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.type", + "value": "response.created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.id", + "value": "resp-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.object", + "value": "response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.created_at", + "value": 1704067200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.model", + "value": "gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.status", + "value": "in_progress", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.output", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.tools", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.tool_choice", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.parallel_tool_calls", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.error", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.incomplete_details", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.metadata", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.instructions", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.temperature", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.top_p", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.response.max_output_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesStreamEvent.example.sequence_number", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.description", + "value": "Error data for BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.example.code", + "value": 400, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponseErrorData.example.message", + "value": "Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.error.$ref", + "value": "#/components/schemas/BadRequestResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.example.error.code", + "value": 400, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadRequestResponse.example.error.message", + "value": "Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.description", + "value": "Error data for UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.example.code", + "value": 401, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponseErrorData.example.message", + "value": "Missing Authentication header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.error.$ref", + "value": "#/components/schemas/UnauthorizedResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.example.error.code", + "value": 401, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnauthorizedResponse.example.error.message", + "value": "Missing Authentication header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.description", + "value": "Error data for PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.example.code", + "value": 402, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponseErrorData.example.message", + "value": "Insufficient credits. Add more using https://openrouter.ai/credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.error.$ref", + "value": "#/components/schemas/PaymentRequiredResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.example.error.code", + "value": 402, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PaymentRequiredResponse.example.error.message", + "value": "Insufficient credits. Add more using https://openrouter.ai/credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.description", + "value": "Error data for NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.example.code", + "value": 404, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponseErrorData.example.message", + "value": "Resource not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.error.$ref", + "value": "#/components/schemas/NotFoundResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.example.error.code", + "value": 404, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NotFoundResponse.example.error.message", + "value": "Resource not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.description", + "value": "Error data for RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.example.code", + "value": 408, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponseErrorData.example.message", + "value": "Operation timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.error.$ref", + "value": "#/components/schemas/RequestTimeoutResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.example.error.code", + "value": 408, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.RequestTimeoutResponse.example.error.message", + "value": "Operation timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.description", + "value": "Error data for PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.example.code", + "value": 413, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponseErrorData.example.message", + "value": "Request payload too large", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.error.$ref", + "value": "#/components/schemas/PayloadTooLargeResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.example.error.code", + "value": 413, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PayloadTooLargeResponse.example.error.message", + "value": "Request payload too large", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.description", + "value": "Error data for UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.example.code", + "value": 422, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponseErrorData.example.message", + "value": "Invalid argument", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.error.$ref", + "value": "#/components/schemas/UnprocessableEntityResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.example.error.code", + "value": 422, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UnprocessableEntityResponse.example.error.message", + "value": "Invalid argument", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.description", + "value": "Error data for TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.example.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponseErrorData.example.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.error.$ref", + "value": "#/components/schemas/TooManyRequestsResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.example.error.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TooManyRequestsResponse.example.error.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.description", + "value": "Error data for InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.example.code", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponseErrorData.example.message", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.error.$ref", + "value": "#/components/schemas/InternalServerResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.example.error.code", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InternalServerResponse.example.error.message", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.description", + "value": "Error data for BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.example.code", + "value": 502, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponseErrorData.example.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.error.$ref", + "value": "#/components/schemas/BadGatewayResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.example.error.code", + "value": 502, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BadGatewayResponse.example.error.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.description", + "value": "Error data for ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.example.code", + "value": 503, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponseErrorData.example.message", + "value": "Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.error.$ref", + "value": "#/components/schemas/ServiceUnavailableResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.example.error.code", + "value": 503, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ServiceUnavailableResponse.example.error.message", + "value": "Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.description", + "value": "Error data for EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.example.code", + "value": 524, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponseErrorData.example.message", + "value": "Request timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.error.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.description", + "value": "Infrastructure Timeout - Provider request timed out at edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.example.error.code", + "value": 524, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EdgeNetworkTimeoutResponse.example.error.message", + "value": "Request timed out. Please try again later.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.description", + "value": "Error data for ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.example.code", + "value": 529, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponseErrorData.example.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.error.$ref", + "value": "#/components/schemas/ProviderOverloadedResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.example.error.code", + "value": 529, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderOverloadedResponse.example.error.message", + "value": "Provider returned error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/OutputItemReasoning" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/ReasoningTextContent" + } + }, + "signature": { + "type": "string", + "nullable": true + }, + "format": { + "type": "string", + "nullable": true, + "enum": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "x-speakeasy-unknown-values": "allow" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.type", + "value": "reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.id", + "value": "reasoning-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.example.summary", + "value": [ + { + "type": "summary_text", + "text": "Step by step analysis" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoning.description", + "value": "Reasoning output item with signature and format extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.type.enum", + "value": [ + "input_video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.video_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.properties.video_url.description", + "value": "A base64 data URL or remote URL that resolves to a video file", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.description", + "value": "Video input content item", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.example.type", + "value": "input_video", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseInputVideo.example.video_url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.role.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "assistant" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.properties.content.anyOf", + "value": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Image input content item", + "example": { + "type": "input_image", + "detail": "auto", + "image_url": "https://example.com/image.jpg" + } + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + }, + { + "$ref": "#/components/schemas/ResponseInputVideo" + } + ] + } + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesEasyInputMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.role.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "user" + ] + }, + { + "type": "string", + "enum": [ + "system" + ] + }, + { + "type": "string", + "enum": [ + "developer" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.properties.content.items.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseInputText" + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/ResponseInputImage" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Image input content item", + "example": { + "type": "input_image", + "detail": "auto", + "image_url": "https://example.com/image.jpg" + } + }, + { + "$ref": "#/components/schemas/ResponseInputFile" + }, + { + "$ref": "#/components/schemas/ResponseInputAudio" + }, + { + "$ref": "#/components/schemas/ResponseInputVideo" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInputMessageItem.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.type.enum", + "value": [ + "function_call" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.properties.status.$ref", + "value": "#/components/schemas/ToolCallStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.required", + "value": [ + "type", + "call_id", + "name", + "arguments", + "id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.description", + "value": "A function call initiated by the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.type", + "value": "function_call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.arguments", + "value": "{\"location\":\"San Francisco\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionToolCall.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.type.enum", + "value": [ + "function_call_output" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.output.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.properties.status.$ref", + "value": "#/components/schemas/ToolCallStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.required", + "value": [ + "type", + "call_id", + "output" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.description", + "value": "The output from a function call execution", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.type", + "value": "function_call_output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.id", + "value": "output-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.call_id", + "value": "call-abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.output", + "value": "{\"temperature\":72,\"conditions\":\"sunny\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesFunctionCallOutput.example.status", + "value": "completed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpenResponsesReasoning" + }, + { + "$ref": "#/components/schemas/OpenResponsesEasyInputMessage" + }, + { + "$ref": "#/components/schemas/OpenResponsesInputMessageItem" + }, + { + "$ref": "#/components/schemas/OpenResponsesFunctionToolCall" + }, + { + "$ref": "#/components/schemas/OpenResponsesFunctionCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputMessage" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemReasoning" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFunctionCall" + }, + { + "$ref": "#/components/schemas/ResponsesWebSearchCallOutput" + }, + { + "$ref": "#/components/schemas/ResponsesOutputItemFileSearchCall" + }, + { + "$ref": "#/components/schemas/ResponsesImageGenerationCall" + } + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.description", + "value": "Input for a response request - can be a string or array of items", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesInput.example", + "value": [ + { + "role": "user", + "content": "What is the weather today?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.allOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseTextConfig" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.description", + "value": "Text output configuration including format and verbosity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.example.format.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesResponseText.example.verbosity", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesReasoningConfig" + }, + { + "type": "object", + "nullable": true, + "properties": { + "max_tokens": { + "type": "number", + "nullable": true + }, + "enabled": { + "type": "boolean", + "nullable": true + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.description", + "value": "Configuration for reasoning mode in the response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.example.summary", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesReasoningConfig.example.enabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputModality.enum", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponsesOutputModality.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncludable.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncludable.enum", + "value": [ + "file_search_call.results", + "message.input_image.image_url", + "computer_call_output.output.image_url", + "reasoning.encrypted_content", + "code_interpreter_call.outputs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenAIResponsesIncludable.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.enum", + "value": [ + "deny", + "allow" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.description", + "value": "Data collection setting. If no available model provider meets the requirement, your request will return an error.\n- allow: (default) allow providers which store user data non-transiently and may train on it\n\n- deny: use only providers which do not collect user data.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.example", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DataCollection.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.enum", + "value": [ + "AI21", + "AionLabs", + "Alibaba", + "Ambient", + "Amazon Bedrock", + "Amazon Nova", + "Anthropic", + "Arcee AI", + "AtlasCloud", + "Avian", + "Azure", + "BaseTen", + "BytePlus", + "Black Forest Labs", + "Cerebras", + "Chutes", + "Cirrascale", + "Clarifai", + "Cloudflare", + "Cohere", + "Crusoe", + "DeepInfra", + "DeepSeek", + "Featherless", + "Fireworks", + "Friendli", + "GMICloud", + "Google", + "Google AI Studio", + "Groq", + "Hyperbolic", + "Inception", + "Inceptron", + "InferenceNet", + "Ionstream", + "Infermatic", + "Io Net", + "Inflection", + "Liquid", + "Mara", + "Mancer 2", + "Minimax", + "ModelRun", + "Mistral", + "Modular", + "Moonshot AI", + "Morph", + "NCompass", + "Nebius", + "NextBit", + "Novita", + "Nvidia", + "OpenAI", + "OpenInference", + "Parasail", + "Perplexity", + "Phala", + "Relace", + "SambaNova", + "Seed", + "SiliconFlow", + "Sourceful", + "StepFun", + "Stealth", + "StreamLake", + "Switchpoint", + "Together", + "Upstage", + "Venice", + "WandB", + "Xiaomi", + "xAI", + "Z.AI", + "FakeProvider" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderName.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.enum", + "value": [ + "int4", + "int8", + "fp4", + "fp6", + "fp8", + "fp16", + "bf16", + "fp32", + "unknown" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.example", + "value": "fp16", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Quantization.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.enum", + "value": [ + "price", + "throughput", + "latency" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSort.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.enum", + "value": [ + "price", + "throughput", + "latency" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.by.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.enum", + "value": [ + "model", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.description", + "value": "Partitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.example", + "value": "model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.properties.partition.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.description", + "value": "The provider sorting strategy (price, throughput, latency)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.example.by", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderSortConfig.example.partition", + "value": "model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.description", + "value": "Price per million prompt tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BigNumberUnion.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p50.description", + "value": "Minimum p50 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p75.description", + "value": "Minimum p75 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p90.description", + "value": "Minimum p90 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.properties.p99.description", + "value": "Minimum p99 throughput (tokens/sec)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.description", + "value": "Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.example.p50", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileThroughputCutoffs.example.p90", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.anyOf", + "value": [ + { + "type": "number" + }, + { + "$ref": "#/components/schemas/PercentileThroughputCutoffs" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.description", + "value": "Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMinThroughput.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p50.description", + "value": "Maximum p50 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p75.description", + "value": "Maximum p75 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p90.description", + "value": "Maximum p90 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.properties.p99.description", + "value": "Maximum p99 latency (seconds)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.description", + "value": "Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.example.p50", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileLatencyCutoffs.example.p90", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.anyOf", + "value": [ + { + "type": "number" + }, + { + "$ref": "#/components/schemas/PercentileLatencyCutoffs" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.description", + "value": "Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PreferredMaxLatency.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.enum", + "value": [ + "native", + "exa" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.description", + "value": "The search engine to use for web search.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.WebSearchEngine.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.enum", + "value": [ + "mistral-ocr", + "pdf-text", + "native" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.description", + "value": "The engine to use for parsing PDF files.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserEngine.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.properties.engine.$ref", + "value": "#/components/schemas/PDFParserEngine", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PDFParserOptions.description", + "value": "Options for PDF parsing.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.input.$ref", + "value": "#/components/schemas/OpenResponsesInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.instructions.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.instructions.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.metadata.$ref", + "value": "#/components/schemas/OpenResponsesRequestMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tools.items.oneOf", + "value": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/OpenResponsesFunctionTool" + }, + { + "type": "object", + "properties": {} + } + ], + "description": "Function tool definition", + "example": { + "type": "function", + "name": "get_weather", + "description": "Get the current weather in a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state" + }, + "unit": { + "type": "string", + "enum": [ + "celsius", + "fahrenheit" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "location" + ] + } + } + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreviewTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchPreview20250311Tool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearchTool" + }, + { + "$ref": "#/components/schemas/OpenResponsesWebSearch20250826Tool" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.tool_choice.$ref", + "value": "#/components/schemas/OpenAIResponsesToolChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.parallel_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.text.$ref", + "value": "#/components/schemas/OpenResponsesResponseText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.reasoning.$ref", + "value": "#/components/schemas/OpenResponsesReasoningConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_output_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_logprobs.maximum", + "value": 20, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_tool_calls.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.max_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.presence_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.top_k.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.description", + "value": "Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.image_config.example.aspect_ratio", + "value": "16:9", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.items.$ref", + "value": "#/components/schemas/ResponsesOutputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.description", + "value": "Output modalities for the response. Supported values are \"text\" and \"image\".", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.modalities.example", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt_cache_key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt_cache_key.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.previous_response_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.previous_response_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.prompt.$ref", + "value": "#/components/schemas/OpenAIResponsesPrompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.include.items.$ref", + "value": "#/components/schemas/OpenAIResponsesIncludable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.background.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.background.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.safety_identifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.safety_identifier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.const", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.store.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.enum", + "value": [ + "auto" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.service_tier.default", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.truncation.allOf", + "value": [ + { + "$ref": "#/components/schemas/OpenAIResponsesTruncation" + }, + { + "example": "auto" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.stream.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.description", + "value": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.sort.example", + "value": "price", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.route.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.user.description", + "value": "A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.description", + "value": "Request schema for Responses endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.model", + "value": "anthropic/claude-4.5-sonnet-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.input", + "value": [ + { + "type": "message", + "content": "Hello, how are you?", + "role": "user" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.top_p", + "value": 0.9, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenResponsesRequest.example.tools", + "value": [ + { + "type": "function", + "name": "get_current_weather", + "description": "Get the current weather in a given location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string" + } + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.type.enum", + "value": [ + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.content.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.enum", + "value": [ + "end_turn", + "max_tokens", + "stop_sequence", + "tool_use", + "pause_turn", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_reason.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_sequence.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.stop_sequence.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.output_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation_input_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_read_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_read_input_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.properties.ephemeral_5m_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.properties.ephemeral_1h_input_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.cache_creation.required", + "value": [ + "ephemeral_5m_input_tokens", + "ephemeral_1h_input_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.inference_geo.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.inference_geo.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.properties.web_search_requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.server_tool_use.required", + "value": [ + "web_search_requests" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.enum", + "value": [ + "standard", + "priority", + "batch" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.properties.service_tier.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.properties.usage.required", + "value": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "cache_creation", + "inference_geo", + "server_tool_use", + "service_tier" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.BaseAnthropicMessagesResponse.required", + "value": [ + "id", + "type", + "role", + "content", + "model", + "stop_reason", + "stop_sequence", + "usage" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.allOf", + "value": [ + { + "$ref": "#/components/schemas/BaseAnthropicMessagesResponse" + }, + { + "type": "object", + "properties": {} + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.description", + "value": "Non-streaming response from the Anthropic Messages API with OpenRouter extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.id", + "value": "msg_01XFDUDYJgAACzvnptvVoYEL", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.type", + "value": "message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.content", + "value": [ + { + "type": "text", + "text": "Hello! I'm doing well, thank you for asking.", + "citations": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.model", + "value": "claude-sonnet-4-5-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.stop_reason", + "value": "end_turn", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.stop_sequence", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.input_tokens", + "value": 12, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.output_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_creation_input_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_read_input_tokens", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.cache_creation", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.inference_geo", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.server_tool_use", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesResponse.example.usage.service_tier", + "value": "standard", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesStreamEvent.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_start" + ] + }, + "message": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "message" + ] + }, + "role": { + "type": "string", + "enum": [ + "assistant" + ] + }, + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ] + } + }, + "model": { + "type": "string" + }, + "stop_reason": { + "nullable": true + }, + "stop_sequence": { + "nullable": true + }, + "usage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "number" + }, + "output_tokens": { + "type": "number" + }, + "cache_creation_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_read_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_creation": { + "type": "object", + "nullable": true, + "properties": { + "ephemeral_5m_input_tokens": { + "type": "number" + }, + "ephemeral_1h_input_tokens": { + "type": "number" + } + }, + "required": [ + "ephemeral_5m_input_tokens", + "ephemeral_1h_input_tokens" + ] + }, + "inference_geo": { + "type": "string", + "nullable": true + }, + "server_tool_use": { + "type": "object", + "nullable": true, + "properties": { + "web_search_requests": { + "type": "number" + } + }, + "required": [ + "web_search_requests" + ] + }, + "service_tier": { + "type": "string", + "nullable": true, + "enum": [ + "standard", + "priority", + "batch" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "cache_creation", + "inference_geo", + "server_tool_use", + "service_tier" + ] + } + }, + "required": [ + "id", + "type", + "role", + "content", + "model", + "stop_reason", + "stop_sequence", + "usage" + ] + } + }, + "required": [ + "type", + "message" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_delta" + ] + }, + "delta": { + "type": "object", + "properties": { + "stop_reason": { + "type": "string", + "nullable": true, + "enum": [ + "end_turn", + "max_tokens", + "stop_sequence", + "tool_use", + "pause_turn", + "refusal" + ], + "x-speakeasy-unknown-values": "allow" + }, + "stop_sequence": { + "type": "string", + "nullable": true + } + }, + "required": [ + "stop_reason", + "stop_sequence" + ] + }, + "usage": { + "type": "object", + "properties": { + "input_tokens": { + "type": "number", + "nullable": true + }, + "output_tokens": { + "type": "number" + }, + "cache_creation_input_tokens": { + "type": "number", + "nullable": true + }, + "cache_read_input_tokens": { + "type": "number", + "nullable": true + }, + "server_tool_use": { + "type": "object", + "nullable": true, + "properties": { + "web_search_requests": { + "type": "number" + } + }, + "required": [ + "web_search_requests" + ] + } + }, + "required": [ + "input_tokens", + "output_tokens", + "cache_creation_input_tokens", + "cache_read_input_tokens", + "server_tool_use" + ] + } + }, + "required": [ + "type", + "delta", + "usage" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "message_stop" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_start" + ] + }, + "index": { + "type": "number" + }, + "content_block": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + } + }, + "required": [ + "type", + "text", + "citations" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "encrypted_content", + "page_age", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + } + ] + } + }, + "required": [ + "type", + "index", + "content_block" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_delta" + ] + }, + "index": { + "type": "number" + }, + "delta": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text_delta" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "input_json_delta" + ] + }, + "partial_json": { + "type": "string" + } + }, + "required": [ + "type", + "partial_json" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking_delta" + ] + }, + "thinking": { + "type": "string" + } + }, + "required": [ + "type", + "thinking" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "signature_delta" + ] + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "citations_delta" + ] + }, + "citation": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + }, + "file_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index", + "file_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "required": [ + "type", + "citation" + ] + } + ] + } + }, + "required": [ + "type", + "index", + "delta" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_stop" + ] + }, + "index": { + "type": "number" + } + }, + "required": [ + "type", + "index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ping" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "error" + ] + }, + "error": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "message" + ] + } + }, + "required": [ + "type", + "error" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesStreamEvent.description", + "value": "Union of all possible streaming events", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.role.enum", + "value": [ + "user", + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.role.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ], + "x-speakeasy-unknown-values": "allow" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "document" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "application/pdf" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "text/plain" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content" + ] + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ], + "x-speakeasy-unknown-values": "allow" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + } + ] + } + } + ] + } + }, + "required": [ + "type", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "citations": { + "type": "object", + "nullable": true, + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "context": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "input": { + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image" + ] + }, + "source": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "base64" + ] + }, + "media_type": { + "type": "string", + "enum": [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp" + ], + "x-speakeasy-unknown-values": "allow" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "media_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "url" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source" + ] + } + ] + } + } + ] + }, + "is_error": { + "type": "boolean" + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "tool_use_id" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "thinking" + ] + }, + "thinking": { + "type": "string" + }, + "signature": { + "type": "string" + } + }, + "required": [ + "type", + "thinking", + "signature" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "redacted_thinking" + ] + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "server_tool_use" + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "input": { + "nullable": true + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "id", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result" + ] + }, + "tool_use_id": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result" + ] + }, + "encrypted_content": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "page_age": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type", + "encrypted_content", + "title", + "url" + ] + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_tool_result_error" + ] + }, + "error_code": { + "type": "string", + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type", + "error_code" + ] + } + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "tool_use_id", + "content" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result" + ] + }, + "source": { + "type": "string" + }, + "title": { + "type": "string" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + } + }, + "citations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "source", + "title", + "content" + ] + } + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OpenRouterAnthropicMessageParam.description", + "value": "Anthropic message with OpenRouter extensions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.enum", + "value": [ + "low", + "medium", + "high", + "max" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.description", + "value": "How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer. Valid values are `low`, `medium`, `high`, or `max`.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.properties.effort.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicOutputConfig.description", + "value": "Configuration for controlling output behavior. Currently supports the effort parameter for Claude Opus 4.5.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.max_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.messages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.messages.items.$ref", + "value": "#/components/schemas/OpenRouterAnthropicMessageParam", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.system.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + }, + "citations": { + "type": "array", + "nullable": true, + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_char_index": { + "type": "number" + }, + "end_char_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_char_index", + "end_char_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "page_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_page_number": { + "type": "number" + }, + "end_page_number": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_page_number", + "end_page_number" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "content_block_location" + ] + }, + "cited_text": { + "type": "string" + }, + "document_index": { + "type": "number" + }, + "document_title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "document_index", + "document_title", + "start_block_index", + "end_block_index" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "encrypted_index": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "cited_text", + "encrypted_index", + "title", + "url" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "search_result_location" + ] + }, + "cited_text": { + "type": "string" + }, + "search_result_index": { + "type": "number" + }, + "source": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + }, + "start_block_index": { + "type": "number" + }, + "end_block_index": { + "type": "number" + } + }, + "required": [ + "type", + "cited_text", + "search_result_index", + "source", + "title", + "start_block_index", + "end_block_index" + ] + } + ] + } + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "text" + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.metadata.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stop_sequences.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stop_sequences.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.top_k.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tools.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "input_schema": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "object" + ] + }, + "properties": { + "nullable": true + }, + "required": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ], + "additionalProperties": { + "nullable": true + } + }, + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "name", + "input_schema" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "bash_20250124" + ] + }, + "name": { + "type": "string", + "enum": [ + "bash" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text_editor_20250124" + ] + }, + "name": { + "type": "string", + "enum": [ + "str_replace_editor" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "web_search_20250305" + ] + }, + "name": { + "type": "string", + "enum": [ + "web_search" + ] + }, + "allowed_domains": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + }, + "blocked_domains": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + }, + "max_uses": { + "type": "number", + "nullable": true + }, + "user_location": { + "type": "object", + "nullable": true, + "properties": { + "type": { + "type": "string", + "enum": [ + "approximate" + ] + }, + "city": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "region": { + "type": "string", + "nullable": true + }, + "timezone": { + "type": "string", + "nullable": true + } + }, + "required": [ + "type" + ] + }, + "cache_control": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ephemeral" + ] + }, + "ttl": { + "type": "string", + "enum": [ + "5m", + "1h" + ], + "x-speakeasy-unknown-values": "allow" + } + }, + "required": [ + "type" + ] + } + }, + "required": [ + "type", + "name" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.tool_choice.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "auto" + ] + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "any" + ] + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "tool" + ] + }, + "name": { + "type": "string" + }, + "disable_parallel_tool_use": { + "type": "boolean" + } + }, + "required": [ + "type", + "name" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.thinking.oneOf", + "value": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "enabled" + ] + }, + "budget_tokens": { + "type": "number" + } + }, + "required": [ + "type", + "budget_tokens" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "disabled" + ] + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "adaptive" + ] + } + }, + "required": [ + "type" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.service_tier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.service_tier.enum", + "value": [ + "auto", + "standard_only" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.service_tier.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.route.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.user.description", + "value": "A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.properties.output_config.$ref", + "value": "#/components/schemas/AnthropicOutputConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.required", + "value": [ + "model", + "max_tokens", + "messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.description", + "value": "Request schema for Anthropic Messages API endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.model", + "value": "anthropic/claude-4.5-sonnet-20250929", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.max_tokens", + "value": 1024, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.messages", + "value": [ + { + "role": "user", + "content": "Hello, how are you?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AnthropicMessagesRequest.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.description", + "value": "Date of the activity (YYYY-MM-DD format)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.date.example", + "value": "2025-08-24", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.description", + "value": "Model slug (e.g., \"openai/gpt-4.1\")", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model.example", + "value": "openai/gpt-4.1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.description", + "value": "Model permaslug (e.g., \"openai/gpt-4.1-2025-04-14\")", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.model_permaslug.example", + "value": "openai/gpt-4.1-2025-04-14", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.description", + "value": "Unique identifier for the endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.endpoint_id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.description", + "value": "Name of the provider serving this endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.provider_name.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.description", + "value": "Total cost in USD (OpenRouter credits spent)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.usage.example", + "value": 0.015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.description", + "value": "BYOK inference cost in USD (external credits spent)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.byok_usage_inference.example", + "value": 0.012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.description", + "value": "Number of requests made", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.requests.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.description", + "value": "Total prompt tokens used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.prompt_tokens.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.description", + "value": "Total completion tokens generated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.completion_tokens.example", + "value": 125, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.description", + "value": "Total reasoning tokens used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.properties.reasoning_tokens.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.required", + "value": [ + "date", + "model", + "model_permaslug", + "endpoint_id", + "provider_name", + "usage", + "byok_usage_inference", + "requests", + "prompt_tokens", + "completion_tokens", + "reasoning_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.date", + "value": "2025-08-24", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.model", + "value": "openai/gpt-4.1", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.model_permaslug", + "value": "openai/gpt-4.1-2025-04-14", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.endpoint_id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.provider_name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.usage", + "value": 0.015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.byok_usage_inference", + "value": 0.012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.requests", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.prompt_tokens", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.completion_tokens", + "value": 125, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ActivityItem.example.reasoning_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.code.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.properties.metadata.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.required", + "value": [ + "code", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.description", + "value": "Error data for ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.example.code", + "value": 403, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponseErrorData.example.message", + "value": "Only management keys can perform this operation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.error.$ref", + "value": "#/components/schemas/ForbiddenResponseErrorData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.required", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.description", + "value": "Forbidden - Authentication successful but insufficient permissions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.example.error.code", + "value": 403, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ForbiddenResponse.example.error.message", + "value": "Only management keys can perform this operation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.enum", + "value": [ + "tool_calls", + "stop", + "length", + "content_filter", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatCompletionFinishReason.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.type.enum", + "value": [ + "ephemeral" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.ttl.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.ttl.enum", + "value": [ + "5m", + "1h" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.properties.ttl.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.description", + "value": "Cache control for the content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.example.type", + "value": "ephemeral", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemCacheControl.example.ttl", + "value": "5m", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.properties.cache_control.$ref", + "value": "#/components/schemas/ChatMessageContentItemCacheControl", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.required", + "value": [ + "type", + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.description", + "value": "Text content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemText.example.text", + "value": "Hello, world!", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.type.enum", + "value": [ + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.url.description", + "value": "URL of the image (data: URLs supported)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.enum", + "value": [ + "auto", + "low", + "high" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.description", + "value": "Image detail level for vision models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.properties.detail.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.properties.image_url.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.required", + "value": [ + "type", + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.description", + "value": "Image content part for vision models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.type", + "value": "image_url", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.image_url.url", + "value": "https://example.com/image.jpg", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemImage.example.image_url.detail", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.type.enum", + "value": [ + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.data.description", + "value": "Base64 encoded audio data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.properties.format.description", + "value": "Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.properties.input_audio.required", + "value": [ + "data", + "format" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.required", + "value": [ + "type", + "input_audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.description", + "value": "Audio input content part. Supported audio formats vary by provider.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.type", + "value": "input_audio", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.input_audio.data", + "value": "SGVsbG8gV29ybGQ=", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemAudio.example.input_audio.format", + "value": "wav", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.properties.url.description", + "value": "URL of the video (data: URLs supported)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.VideoInput.description", + "value": "Video input object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.type.enum", + "value": [ + "input_video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.properties.video_url.$ref", + "value": "#/components/schemas/VideoInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.description", + "value": "Video input content part (legacy format - deprecated)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.example.type", + "value": "input_video", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideoLegacy.example.video_url.url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.type.enum", + "value": [ + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.properties.video_url.$ref", + "value": "#/components/schemas/VideoInput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.required", + "value": [ + "type", + "video_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.description", + "value": "Video input content part", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.example.type", + "value": "video_url", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItemVideo.example.video_url.url", + "value": "https://example.com/video.mp4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ChatMessageContentItemText" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemImage" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemAudio" + }, + { + "oneOf": [ + { + "$ref": "#/components/schemas/ChatMessageContentItemVideoLegacy" + }, + { + "$ref": "#/components/schemas/ChatMessageContentItemVideo" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "input_video": "#/components/schemas/ChatMessageContentItemVideoLegacy", + "video_url": "#/components/schemas/ChatMessageContentItemVideo" + } + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.description", + "value": "Content part for chat completion messages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageContentItem.example.text", + "value": "Hello, world!", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.id.description", + "value": "Tool call identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.name.description", + "value": "Function name to call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.properties.arguments.description", + "value": "Function arguments as JSON string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.properties.function.required", + "value": [ + "name", + "arguments" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.required", + "value": [ + "id", + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.description", + "value": "Tool call made by the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.function.name", + "value": "get_current_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageToolCall.example.function.arguments", + "value": "{\"location\": \"Boston, MA\"}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.type.enum", + "value": [ + "reasoning.summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.summary.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.format.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.required", + "value": [ + "type", + "summary" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.description", + "value": "Reasoning detail summary schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.example.type", + "value": "reasoning.summary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailSummary.example.summary", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.type.enum", + "value": [ + "reasoning.encrypted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.data.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.format.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.required", + "value": [ + "type", + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.description", + "value": "Reasoning detail encrypted schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.example.type", + "value": "reasoning.encrypted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailEncrypted.example.data", + "value": "encrypted data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.type.enum", + "value": [ + "reasoning.text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.text.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.signature.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.signature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.enum", + "value": [ + "unknown", + "openai-responses-v1", + "azure-openai-responses-v1", + "xai-responses-v1", + "anthropic-claude-v1", + "google-gemini-v1" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.format.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.description", + "value": "Reasoning detail text schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.type", + "value": "reasoning.text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.text", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailText.example.signature", + "value": "signature", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ReasoningDetailSummary" + }, + { + "$ref": "#/components/schemas/ReasoningDetailEncrypted" + }, + { + "$ref": "#/components/schemas/ReasoningDetailText" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.summary", + "value": "#/components/schemas/ReasoningDetailSummary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.encrypted", + "value": "#/components/schemas/ReasoningDetailEncrypted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.discriminator.mapping.reasoning.text", + "value": "#/components/schemas/ReasoningDetailText", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.description", + "value": "Reasoning detail union schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.example.type", + "value": "reasoning.summary", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ReasoningDetailUnion.example.summary", + "value": "The model analyzed the problem by first identifying key constraints, then evaluating possible solutions...", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.items.$ref", + "value": "#/components/schemas/ReasoningDetailUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageReasoningDetails.description", + "value": "Reasoning details for extended thinking models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.properties.url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.properties.url.description", + "value": "URL or base64-encoded data of the generated image", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.properties.image_url.required", + "value": [ + "url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.items.required", + "value": [ + "image_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.description", + "value": "Generated images from image generation models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessageImages.example", + "value": [ + { + "image_url": { + "url": "data:image/png;base64,iVBORw0KGgo..." + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.content.description", + "value": "Assistant message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.name.description", + "value": "Optional name for the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.items.$ref", + "value": "#/components/schemas/ChatMessageToolCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.tool_calls.description", + "value": "Tool calls made by the assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.refusal.description", + "value": "Refusal message if content was refused", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning.description", + "value": "Reasoning output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.reasoning_details.$ref", + "value": "#/components/schemas/AssistantMessageReasoningDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.properties.images.$ref", + "value": "#/components/schemas/AssistantMessageImages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.required", + "value": [ + "role" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.description", + "value": "Assistant message for requests and responses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.AssistantMessage.example.content", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.token.description", + "value": "The token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.logprob.description", + "value": "Log probability of the token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.bytes.description", + "value": "UTF-8 bytes of the token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.token.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.logprob.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.properties.bytes.items.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.items.required", + "value": [ + "token", + "logprob", + "bytes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.properties.top_logprobs.description", + "value": "Top alternative tokens with probabilities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.required", + "value": [ + "token", + "logprob", + "bytes", + "top_logprobs" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.description", + "value": "Token log probability information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.token", + "value": " Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.logprob", + "value": -0.612345, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.bytes", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprob.example.top_logprobs", + "value": [ + { + "token": " Hello", + "logprob": -0.612345, + "bytes": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.items.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprob", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.content.description", + "value": "Log probabilities for content tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.items.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprob", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.properties.refusal.description", + "value": "Log probabilities for refusal tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.required", + "value": [ + "content", + "refusal" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.description", + "value": "Log probabilities for the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.example.content", + "value": [ + { + "token": " Hello", + "logprob": -0.612345, + "bytes": null, + "top_logprobs": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatMessageTokenLogprobs.example.refusal", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.finish_reason.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ChatCompletionFinishReason" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.description", + "value": "Choice index", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.message.$ref", + "value": "#/components/schemas/AssistantMessage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.properties.logprobs.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.required", + "value": [ + "finish_reason", + "index", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.description", + "value": "Chat completion choice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.finish_reason", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.message.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.message.content", + "value": "The capital of France is Paris.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponseChoice.example.logprobs", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens.description", + "value": "Number of tokens in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens.description", + "value": "Number of tokens in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.total_tokens.description", + "value": "Total number of tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.reasoning_tokens.description", + "value": "Tokens used for reasoning", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.audio_tokens.description", + "value": "Tokens used for audio output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.accepted_prediction_tokens.description", + "value": "Accepted prediction tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.properties.rejected_prediction_tokens.description", + "value": "Rejected prediction tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.completion_tokens_details.description", + "value": "Detailed completion token usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cached_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cached_tokens.description", + "value": "Cached prompt tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cache_write_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.cache_write_tokens.description", + "value": "Tokens written to cache. Only returned for models with explicit caching and cache write pricing.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.audio_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.audio_tokens.description", + "value": "Audio input tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.video_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.properties.video_tokens.description", + "value": "Video input tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.properties.prompt_tokens_details.description", + "value": "Detailed prompt token usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.required", + "value": [ + "completion_tokens", + "prompt_tokens", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.description", + "value": "Token usage statistics", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.completion_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.prompt_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.total_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.completion_tokens_details.reasoning_tokens", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationTokenUsage.example.prompt_tokens_details.cached_tokens", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.description", + "value": "Unique completion identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.id.example", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.items.$ref", + "value": "#/components/schemas/ChatResponseChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.choices.description", + "value": "List of completion choices", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.description", + "value": "Unix timestamp of creation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.created.example", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.description", + "value": "Model used for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.model.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.object.enum", + "value": [ + "chat.completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.description", + "value": "System fingerprint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.system_fingerprint.example", + "value": "fp_44709d6fcb", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.properties.usage.$ref", + "value": "#/components/schemas/ChatGenerationTokenUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.required", + "value": [ + "id", + "choices", + "created", + "model", + "object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.description", + "value": "Chat completion response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.id", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.object", + "value": "chat.completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.created", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.choices", + "value": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris." + }, + "finish_reason": "stop" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.prompt_tokens", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.completion_tokens", + "value": 15, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatResponse.example.usage.total_tokens", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.description", + "value": "Tool call index in the array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.description", + "value": "Tool call identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.id.example", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.description", + "value": "Tool call type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.type.example", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.description", + "value": "Function name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.description", + "value": "Function arguments as JSON string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.properties.arguments.example", + "value": "{\"location\":", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.properties.function.description", + "value": "Function call details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.required", + "value": [ + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.description", + "value": "Tool call delta for streaming responses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageToolCall.example.function.arguments", + "value": "{\"location\":", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.enum", + "value": [ + "assistant" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.description", + "value": "The role of the message author", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.role.example", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.description", + "value": "Message content delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.content.example", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.description", + "value": "Reasoning content delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning.example", + "value": "I need to", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.description", + "value": "Refusal message delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.refusal.example", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.items.$ref", + "value": "#/components/schemas/ChatStreamingMessageToolCall", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.tool_calls.description", + "value": "Tool calls delta", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.properties.reasoning_details.$ref", + "value": "#/components/schemas/AssistantMessageReasoningDetails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.description", + "value": "Delta changes in streaming response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.example.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingMessageChunk.example.content", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.delta.$ref", + "value": "#/components/schemas/ChatStreamingMessageChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.finish_reason.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ChatCompletionFinishReason" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.description", + "value": "Choice index", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.index.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.properties.logprobs.$ref", + "value": "#/components/schemas/ChatMessageTokenLogprobs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.required", + "value": [ + "delta", + "finish_reason", + "index" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.description", + "value": "Streaming completion choice chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.index", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.delta.role", + "value": "assistant", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.delta.content", + "value": "Hello", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingChoice.example.finish_reason", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.description", + "value": "Unique chunk identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.id.example", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.items.$ref", + "value": "#/components/schemas/ChatStreamingChoice", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.choices.description", + "value": "List of streaming chunk choices", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.description", + "value": "Unix timestamp of creation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.created.example", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.description", + "value": "Model used for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.model.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.object.enum", + "value": [ + "chat.completion.chunk" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.description", + "value": "System fingerprint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.system_fingerprint.example", + "value": "fp_44709d6fcb", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.description", + "value": "Error message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.message.example", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.description", + "value": "Error code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.properties.code.example", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.required", + "value": [ + "message", + "code" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.description", + "value": "Error information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.example.message", + "value": "Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.error.example.code", + "value": 429, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.properties.usage.$ref", + "value": "#/components/schemas/ChatGenerationTokenUsage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.required", + "value": [ + "id", + "choices", + "created", + "model", + "object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.description", + "value": "Streaming chat completion chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.x-speakeasy-entity", + "value": "ChatStreamChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.id", + "value": "chatcmpl-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.object", + "value": "chat.completion.chunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.created", + "value": 1677652288, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamingResponseChunk.example.choices", + "value": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "Hello" + }, + "finish_reason": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.role.enum", + "value": [ + "system" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItemText" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.description", + "value": "System message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.content.example", + "value": "You are a helpful assistant.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.description", + "value": "Optional name for the system message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.properties.name.example", + "value": "Assistant Config", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.description", + "value": "System message for setting behavior", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.role", + "value": "system", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.content", + "value": "You are a helpful assistant.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.SystemMessage.example.name", + "value": "Assistant Config", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.role.enum", + "value": [ + "user" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.description", + "value": "User message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.content.example", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.description", + "value": "Optional name for the user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.properties.name.example", + "value": "User", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.description", + "value": "User message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.example.role", + "value": "user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.UserMessage.example.content", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.role.enum", + "value": [ + "developer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItemText" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.description", + "value": "Developer message content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.content.example", + "value": "This is a message from the developer.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.description", + "value": "Optional name for the developer message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.properties.name.example", + "value": "Developer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.required", + "value": [ + "role", + "content" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.description", + "value": "Developer message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.example.role", + "value": "developer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DeveloperMessage.example.content", + "value": "This is a message from the developer.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.role.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.role.enum", + "value": [ + "tool" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChatMessageContentItem" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.description", + "value": "Tool response content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.content.example", + "value": "The weather in San Francisco is 72\u00b0F and sunny.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.description", + "value": "ID of the assistant message tool call this message responds to", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.properties.tool_call_id.example", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.required", + "value": [ + "role", + "content", + "tool_call_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.description", + "value": "Tool response message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.role", + "value": "tool", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.content", + "value": "The weather in San Francisco is 72\u00b0F and sunny.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolResponseMessage.example.tool_call_id", + "value": "call_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.oneOf", + "value": [ + { + "$ref": "#/components/schemas/SystemMessage" + }, + { + "$ref": "#/components/schemas/UserMessage" + }, + { + "$ref": "#/components/schemas/DeveloperMessage" + }, + { + "$ref": "#/components/schemas/AssistantMessage" + }, + { + "$ref": "#/components/schemas/ToolResponseMessage" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.discriminator.propertyName", + "value": "role", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.description", + "value": "Chat completion message with role-based discrimination", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.example.role", + "value": "user", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Message.example.content", + "value": "What is the capital of France?", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.description", + "value": "Model to use for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelName.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.items.allOf", + "value": [ + { + "$ref": "#/components/schemas/ModelName" + }, + { + "description": "Available OpenRouter chat completion models" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.description", + "value": "Models to use for completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelNames.example", + "value": [ + "openai/gpt-4", + "openai/gpt-4o" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.properties.type.enum", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.description", + "value": "Default text response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatText.example.type", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.properties.type.enum", + "value": [ + "json_object" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.description", + "value": "JSON object response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONObject.example.type", + "value": "json_object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.maxLength", + "value": 64, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.description", + "value": "Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.name.example", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.description", + "value": "Schema description for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.description.example", + "value": "A mathematical response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.description", + "value": "JSON Schema object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.schema.example.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.description", + "value": "Enable strict schema adherence", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.properties.strict.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.description", + "value": "JSON Schema configuration object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.name", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.description", + "value": "A mathematical response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.schema.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.JSONSchemaConfig.example.strict", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.type.enum", + "value": [ + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.properties.json_schema.$ref", + "value": "#/components/schemas/JSONSchemaConfig", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.required", + "value": [ + "type", + "json_schema" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.description", + "value": "JSON Schema response format for structured outputs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.type", + "value": "json_schema", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.name", + "value": "math_response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.properties.answer.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatJSONSchema.example.json_schema.schema.required", + "value": [ + "answer" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.type.enum", + "value": [ + "grammar" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.description", + "value": "Custom grammar for text generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.properties.grammar.example", + "value": "root ::= \"yes\" | \"no\"", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.required", + "value": [ + "type", + "grammar" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.description", + "value": "Custom grammar response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.example.type", + "value": "grammar", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextGrammar.example.grammar", + "value": "root ::= \"yes\" | \"no\"", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.properties.type.enum", + "value": [ + "python" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.required", + "value": [ + "type" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.description", + "value": "Python code response format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ResponseFormatTextPython.example.type", + "value": "python", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.description", + "value": "Deprecated: This field has no effect. Full usage details are always included.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.properties.include_usage.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.description", + "value": "Streaming configuration options", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatStreamOptions.example.include_usage", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.description", + "value": "Function name to call", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.properties.function.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.required", + "value": [ + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.description", + "value": "Named tool choice for specific function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.NamedToolChoice.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.anyOf", + "value": [ + { + "type": "string", + "enum": [ + "none" + ] + }, + { + "type": "string", + "enum": [ + "auto" + ] + }, + { + "type": "string", + "enum": [ + "required" + ] + }, + { + "$ref": "#/components/schemas/NamedToolChoice" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.description", + "value": "Tool choice configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolChoiceOption.example", + "value": "auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.type.enum", + "value": [ + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.maxLength", + "value": 64, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.description", + "value": "Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.name.example", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.description", + "value": "Function description for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.description.example", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.description", + "value": "Function parameters as JSON Schema object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.parameters.example.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.description", + "value": "Enable strict schema adherence", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.properties.strict.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.description", + "value": "Function definition for tool calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.description", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.function.example.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.properties.cache_control.$ref", + "value": "#/components/schemas/ChatMessageContentItemCacheControl", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.required", + "value": [ + "type", + "function" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.description", + "value": "Tool definition for function calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.type", + "value": "function", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.name", + "value": "get_weather", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.description", + "value": "Get the current weather for a location", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.location.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.location.description", + "value": "City name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.unit.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.unit.enum", + "value": [ + "celsius", + "fahrenheit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.properties.unit.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ToolDefinitionJson.example.function.parameters.required", + "value": [ + "location" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.description", + "value": "If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.properties.echo_upstream_body.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.description", + "value": "Debug options for inspecting request transformations (streaming only)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DebugOptions.example.echo_upstream_body", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.provider.description", + "value": "When multiple model providers are available, optionally indicate your routing preference.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.items.oneOf", + "value": [ + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "auto-router" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the auto-router plugin for this request. Defaults to true." + }, + "allowed_models": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., \"anthropic/*\" matches all Anthropic models). When not specified, uses the default supported models list.", + "example": [ + "anthropic/*", + "openai/gpt-4o", + "google/*" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "moderation" + ] + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "web" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the web-search plugin for this request. Defaults to true." + }, + "max_results": { + "type": "number" + }, + "search_prompt": { + "type": "string" + }, + "engine": { + "$ref": "#/components/schemas/WebSearchEngine" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "file-parser" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the file-parser plugin for this request. Defaults to true." + }, + "pdf": { + "$ref": "#/components/schemas/PDFParserOptions" + } + }, + "required": [ + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string", + "enum": [ + "response-healing" + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the response-healing plugin for this request. Defaults to true." + } + }, + "required": [ + "id" + ] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.plugins.description", + "value": "Plugins you want to enable for this request, including their settings.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.enum", + "value": [ + "fallback", + "sort" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.description", + "value": "**DEPRECATED** Use providers.sort.partition instead. Backwards-compatible alias for providers.sort.partition. Accepts legacy values: \"fallback\" (maps to \"model\"), \"sort\" (maps to \"none\").", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-speakeasy-deprecation-message", + "value": "Use providers.sort.partition instead.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.route.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.description", + "value": "Unique user identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.user.example", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.maxLength", + "value": 128, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.session_id.description", + "value": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.trace_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.trace_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.span_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.generation_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.properties.parent_span_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.additionalProperties.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.trace.description", + "value": "Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.items.$ref", + "value": "#/components/schemas/Message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.description", + "value": "List of messages for the conversation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.messages.example", + "value": [ + { + "role": "user", + "content": "Hello!" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.model.$ref", + "value": "#/components/schemas/ModelName", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.models.$ref", + "value": "#/components/schemas/ModelNames", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.description", + "value": "Frequency penalty (-2.0 to 2.0)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.frequency_penalty.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.additionalProperties.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.description", + "value": "Token logit bias adjustments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logit_bias.example.50256", + "value": -100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.description", + "value": "Return log probabilities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.logprobs.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.maximum", + "value": 20, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.description", + "value": "Number of top log probabilities to return (0-20)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_logprobs.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.minimum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.description", + "value": "Maximum tokens in completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_completion_tokens.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.minimum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.description", + "value": "Maximum tokens (deprecated, use max_completion_tokens)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.max_tokens.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.additionalProperties.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.description", + "value": "Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.example.user_id", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.metadata.example.session_id", + "value": "session-456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.description", + "value": "Presence penalty (-2.0 to 2.0)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.presence_penalty.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.enum", + "value": [ + "xhigh", + "high", + "medium", + "low", + "minimal", + "none" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.description", + "value": "Constrains effort on reasoning for reasoning models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.example", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.effort.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.properties.summary.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ReasoningSummaryVerbosity" + }, + { + "nullable": true + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.description", + "value": "Configuration options for reasoning models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.example.effort", + "value": "medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.reasoning.example.summary", + "value": "concise", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.oneOf", + "value": [ + { + "$ref": "#/components/schemas/ResponseFormatText" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONObject" + }, + { + "$ref": "#/components/schemas/ResponseFormatJSONSchema" + }, + { + "$ref": "#/components/schemas/ResponseFormatTextGrammar" + }, + { + "$ref": "#/components/schemas/ResponseFormatTextPython" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.discriminator.propertyName", + "value": "type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.description", + "value": "Response format configuration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.response_format.example.type", + "value": "json_object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.description", + "value": "Random seed for deterministic outputs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.seed.example", + "value": 42, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 4 + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.description", + "value": "Stop sequences (up to 4)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stop.example", + "value": [ + "" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.description", + "value": "Enable streaming response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.stream_options.$ref", + "value": "#/components/schemas/ChatStreamOptions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.default", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.description", + "value": "Sampling temperature (0-2)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.temperature.example", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.parallel_tool_calls.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.parallel_tool_calls.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tool_choice.$ref", + "value": "#/components/schemas/ToolChoiceOption", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.items.$ref", + "value": "#/components/schemas/ToolDefinitionJson", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.description", + "value": "Available tools for function calling", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.tools.example", + "value": [ + { + "type": "function", + "function": { + "name": "get_weather", + "description": "Get weather" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.maximum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.default", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.description", + "value": "Nucleus sampling parameter (0-1)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.top_p.example", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.debug.$ref", + "value": "#/components/schemas/DebugOptions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.additionalProperties.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "array", + "items": { + "nullable": true + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.description", + "value": "Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.image_config.example.aspect_ratio", + "value": "16:9", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.items.enum", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.items.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.description", + "value": "Output modalities for the response. Supported values are \"text\" and \"image\".", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.properties.modalities.example", + "value": [ + "text", + "image" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.required", + "value": [ + "messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.description", + "value": "Chat completion request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.messages", + "value": [ + { + "role": "system", + "content": "You are a helpful assistant." + }, + { + "role": "user", + "content": "What is the capital of France?" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.model", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ChatGenerationParams.example.max_tokens", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.amount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.sender.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.chain_id.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.chain_id.enum", + "value": [ + 1, + 137, + 8453 + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.properties.chain_id.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.required", + "value": [ + "amount", + "sender", + "chain_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.description", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.amount", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.sender", + "value": "0x1234567890123456789012345678901234567890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.CreateChargeRequest.example.chain_id", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.allow_fallbacks.description", + "value": "Whether to allow backup providers to serve requests\n- true: (default) when the primary provider (or your custom providers in \"order\") is unavailable, use the next best provider.\n- false: use only the primary/custom provider, and return the upstream error if it's unavailable.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.require_parameters.description", + "value": "Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.data_collection.$ref", + "value": "#/components/schemas/DataCollection", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.description", + "value": "Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.description", + "value": "Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.enforce_distillable_text.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.order.description", + "value": "An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.only.description", + "value": "List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.items.anyOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderName" + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.ignore.description", + "value": "List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.items.$ref", + "value": "#/components/schemas/Quantization", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.quantizations.description", + "value": "A list of quantization levels to filter the provider by.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.sort.allOf", + "value": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderSort" + }, + { + "$ref": "#/components/schemas/ProviderSortConfig" + }, + { + "nullable": true + } + ], + "description": "The sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.prompt.$ref", + "value": "#/components/schemas/BigNumberUnion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per million completion tokens" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per image" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per audio unit" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "Price per request" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.max_price.description", + "value": "The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.preferred_min_throughput.$ref", + "value": "#/components/schemas/PreferredMinThroughput", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.properties.preferred_max_latency.$ref", + "value": "#/components/schemas/PreferredMaxLatency", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ProviderPreferences.description", + "value": "Provider routing preferences for the request.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.prompt.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image_token.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.image_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.audio_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_audio_cache.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.web_search.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.internal_reasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_cache_read.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.input_cache_write.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.properties.discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.required", + "value": [ + "prompt", + "completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.description", + "value": "Pricing information for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicPricing.example.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.enum", + "value": [ + "Router", + "Media", + "Other", + "GPT", + "Claude", + "Gemini", + "Grok", + "Cohere", + "Nova", + "Qwen", + "Yi", + "DeepSeek", + "Mistral", + "Llama2", + "Llama3", + "Llama4", + "PaLM", + "RWKV", + "Qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.example", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.description", + "value": "Tokenizer type used by the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelGroup.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.enum", + "value": [ + "text", + "image", + "file", + "audio", + "video" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.example", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InputModality.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.enum", + "value": [ + "text", + "image", + "embeddings", + "audio" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.example", + "value": "text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.OutputModality.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.tokenizer.$ref", + "value": "#/components/schemas/ModelGroup", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.enum", + "value": [ + "none", + "airoboros", + "alpaca", + "alpaca-modif", + "chatml", + "claude", + "code-llama", + "gemma", + "llama2", + "llama3", + "mistral", + "nemotron", + "neural", + "openchat", + "phi3", + "rwkv", + "vicuna", + "zephyr", + "deepseek-r1", + "deepseek-v3.1", + "qwq", + "qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.example", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.description", + "value": "Instruction format type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.instruct_type.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.description", + "value": "Primary modality of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.modality.example", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.items.$ref", + "value": "#/components/schemas/InputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.input_modalities.description", + "value": "Supported input modalities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.items.$ref", + "value": "#/components/schemas/OutputModality", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.properties.output_modalities.description", + "value": "Supported output modalities", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.required", + "value": [ + "modality", + "input_modalities", + "output_modalities" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.description", + "value": "Model architecture information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelArchitecture.example.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.description", + "value": "Context length from the top provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.context_length.example", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.description", + "value": "Maximum completion tokens from the top provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.max_completion_tokens.example", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.description", + "value": "Whether the top provider moderates content", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.properties.is_moderated.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.required", + "value": [ + "is_moderated" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.description", + "value": "Information about the top provider for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.TopProviderInfo.example.is_moderated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.prompt_tokens.description", + "value": "Maximum prompt tokens per request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.properties.completion_tokens.description", + "value": "Maximum completion tokens per request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.required", + "value": [ + "prompt_tokens", + "completion_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.description", + "value": "Per-request token limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.example.prompt_tokens", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PerRequestLimits.example.completion_tokens", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.enum", + "value": [ + "temperature", + "top_p", + "top_k", + "min_p", + "top_a", + "frequency_penalty", + "presence_penalty", + "repetition_penalty", + "max_tokens", + "logit_bias", + "logprobs", + "top_logprobs", + "seed", + "response_format", + "structured_outputs", + "stop", + "tools", + "tool_choice", + "parallel_tool_calls", + "include_reasoning", + "reasoning", + "reasoning_effort", + "web_search_options", + "verbosity" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.example", + "value": "temperature", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Parameter.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.temperature.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.top_p.maximum", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.minimum", + "value": -2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.properties.frequency_penalty.maximum", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.additionalProperties", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.description", + "value": "Default parameters for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.temperature", + "value": 0.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.top_p", + "value": 0.9, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.DefaultParameters.example.frequency_penalty", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.description", + "value": "Unique identifier for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.description", + "value": "Canonical slug for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.canonical_slug.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.description", + "value": "Hugging Face model identifier, if applicable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.hugging_face_id.example", + "value": "microsoft/DialoGPT-medium", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.description", + "value": "Display name of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.name.example", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.description", + "value": "Unix timestamp of when the model was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.created.example", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.description", + "value": "Description of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.description.example", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.pricing.$ref", + "value": "#/components/schemas/PublicPricing", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.description", + "value": "Maximum context length in tokens", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.context_length.example", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.architecture.$ref", + "value": "#/components/schemas/ModelArchitecture", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.top_provider.$ref", + "value": "#/components/schemas/TopProviderInfo", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.per_request_limits.$ref", + "value": "#/components/schemas/PerRequestLimits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.items.$ref", + "value": "#/components/schemas/Parameter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.supported_parameters.description", + "value": "List of supported parameters for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.default_parameters.$ref", + "value": "#/components/schemas/DefaultParameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.description", + "value": "The date after which the model may be removed. ISO 8601 date string (YYYY-MM-DD) or null if no expiration.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.properties.expiration_date.example", + "value": "2025-06-01", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.required", + "value": [ + "id", + "canonical_slug", + "name", + "created", + "pricing", + "context_length", + "architecture", + "top_provider", + "per_request_limits", + "supported_parameters", + "default_parameters" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.description", + "value": "Information about an AI model available on OpenRouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.canonical_slug", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.created", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.description", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.pricing.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.architecture.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.top_provider.is_moderated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.per_request_limits", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.supported_parameters", + "value": [ + "temperature", + "top_p", + "max_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.default_parameters", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.Model.example.expiration_date", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.items.$ref", + "value": "#/components/schemas/Model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponseData.description", + "value": "List of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.properties.data.$ref", + "value": "#/components/schemas/ModelsListResponseData", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.description", + "value": "List of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsListResponse.example.data", + "value": [ + { + "id": "openai/gpt-4", + "canonical_slug": "openai/gpt-4", + "name": "GPT-4", + "created": 1692901234, + "description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "pricing": { + "prompt": "0.00003", + "completion": "0.00006", + "request": "0", + "image": "0" + }, + "context_length": 8192, + "architecture": { + "tokenizer": "GPT", + "instruct_type": "chatml", + "modality": "text->text", + "input_modalities": [ + "text" + ], + "output_modalities": [ + "text" + ] + }, + "top_provider": { + "context_length": 8192, + "max_completion_tokens": 4096, + "is_moderated": true + }, + "per_request_limits": null, + "supported_parameters": [ + "temperature", + "top_p", + "max_tokens", + "frequency_penalty", + "presence_penalty" + ], + "default_parameters": null, + "expiration_date": null + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.description", + "value": "Total number of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.properties.count.example", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.required", + "value": [ + "count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.description", + "value": "Model count data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.properties.data.example.count", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.description", + "value": "Model count data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ModelsCountResponse.example.data.count", + "value": 150, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.enum", + "value": [ + "none", + "airoboros", + "alpaca", + "alpaca-modif", + "chatml", + "claude", + "code-llama", + "gemma", + "llama2", + "llama3", + "mistral", + "nemotron", + "neural", + "openchat", + "phi3", + "rwkv", + "vicuna", + "zephyr", + "deepseek-r1", + "deepseek-v3.1", + "qwq", + "qwen3" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.description", + "value": "Instruction format type", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.InstructType.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.enum", + "value": [ + 0, + -1, + -2, + -3, + -5, + -10 + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.EndpointStatus.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.description", + "value": "Median (50th percentile)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p50.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.description", + "value": "75th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p75.example", + "value": 35.2, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.description", + "value": "90th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p90.example", + "value": 48.7, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.description", + "value": "99th percentile", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.properties.p99.example", + "value": 85.3, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.required", + "value": [ + "p50", + "p75", + "p90", + "p99" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PercentileStats.description", + "value": "Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.description", + "value": "The unique identifier for the model (permaslug)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.model_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.context_length.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.prompt.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.completion.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.request.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image_token.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.image_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.audio.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.audio_output.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_audio_cache.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.web_search.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.internal_reasoning.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_cache_read.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.input_cache_write.allOf", + "value": [ + { + "$ref": "#/components/schemas/BigNumberUnion" + }, + { + "description": "A number or string value representing a large number" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.properties.discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.pricing.required", + "value": [ + "prompt", + "completion" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.provider_name.$ref", + "value": "#/components/schemas/ProviderName", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.tag.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.quantization.allOf", + "value": [ + { + "$ref": "#/components/schemas/Quantization" + }, + { + "nullable": true + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_completion_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_completion_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.max_prompt_tokens.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supported_parameters.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supported_parameters.items.$ref", + "value": "#/components/schemas/Parameter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.status.$ref", + "value": "#/components/schemas/EndpointStatus", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.uptime_last_30m.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.uptime_last_30m.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.supports_implicit_caching.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.latency_last_30m.$ref", + "value": "#/components/schemas/PercentileStats", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.properties.throughput_last_30m.allOf", + "value": [ + { + "$ref": "#/components/schemas/PercentileStats" + }, + { + "description": "Throughput percentiles in tokens per second over the last 30 minutes. Throughput measures output token generation speed. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests." + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.required", + "value": [ + "name", + "model_id", + "model_name", + "context_length", + "pricing", + "provider_name", + "tag", + "quantization", + "max_completion_tokens", + "max_prompt_tokens", + "supported_parameters", + "uptime_last_30m", + "supports_implicit_caching", + "latency_last_30m", + "throughput_last_30m" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.description", + "value": "Information about a specific model endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.name", + "value": "OpenAI: GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.model_id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.model_name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.context_length", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.prompt", + "value": "0.00003", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.completion", + "value": "0.00006", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.request", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.pricing.image", + "value": "0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.provider_name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.tag", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.quantization", + "value": "fp16", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.max_completion_tokens", + "value": 4096, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.max_prompt_tokens", + "value": 8192, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.supported_parameters", + "value": [ + "temperature", + "top_p", + "max_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.status", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.uptime_last_30m", + "value": 99.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.supports_implicit_caching", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p50", + "value": 0.25, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p75", + "value": 0.35, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p90", + "value": 0.48, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.latency_last_30m.p99", + "value": 0.85, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p50", + "value": 45.2, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p75", + "value": 38.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p90", + "value": 28.3, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.PublicEndpoint.example.throughput_last_30m.p99", + "value": 15.1, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.description", + "value": "Unique identifier for the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.id.example", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.description", + "value": "Display name of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.name.example", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.description", + "value": "Unix timestamp of when the model was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.created.example", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.description", + "value": "Description of the model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.description.example", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.architecture.allOf", + "value": [ + { + "$ref": "#/components/schemas/ModelArchitecture" + }, + { + "properties": { + "tokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/ModelGroup" + }, + { + "nullable": true + } + ] + }, + "instruct_type": { + "$ref": "#/components/schemas/InstructType" + }, + "modality": { + "type": "string", + "nullable": true, + "description": "Primary modality of the model", + "example": "text" + }, + "input_modalities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InputModality" + }, + "description": "Supported input modalities" + }, + "output_modalities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OutputModality" + }, + "description": "Supported output modalities" + } + }, + "required": [ + "tokenizer", + "instruct_type", + "modality", + "input_modalities", + "output_modalities" + ], + "example": { + "tokenizer": "GPT", + "instruct_type": "chatml", + "modality": "text" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.items.$ref", + "value": "#/components/schemas/PublicEndpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.properties.endpoints.description", + "value": "List of available endpoints for this model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.required", + "value": [ + "id", + "name", + "created", + "description", + "architecture", + "endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.description", + "value": "List of available endpoints for a model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.id", + "value": "openai/gpt-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.name", + "value": "GPT-4", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.created", + "value": 1692901234, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.description", + "value": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.tokenizer", + "value": "GPT", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.instruct_type", + "value": "chatml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.modality", + "value": "text->text", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.input_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.architecture.output_modalities", + "value": [ + "text" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.schemas.ListEndpointsResponse.example.endpoints", + "value": [ + { + "name": "OpenAI: GPT-4", + "model_name": "GPT-4", + "context_length": 8192, + "pricing": { + "prompt": "0.00003", + "completion": "0.00006", + "request": "0", + "image": "0" + }, + "provider_name": "OpenAI", + "tag": "openai", + "quantization": "fp16", + "max_completion_tokens": 4096, + "max_prompt_tokens": 8192, + "supported_parameters": [ + "temperature", + "top_p", + "max_tokens", + "frequency_penalty", + "presence_penalty" + ], + "status": "default", + "uptime_last_30m": 99.5, + "supports_implicit_caching": true, + "latency_last_30m": { + "p50": 0.25, + "p75": 0.35, + "p90": 0.48, + "p99": 0.85 + }, + "throughput_last_30m": { + "p50": 45.2, + "p75": 38.5, + "p90": 28.3, + "p99": 15.1 + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppIdentifier.name", + "value": "HTTP-Referer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppIdentifier.in", + "value": "header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppIdentifier.schema.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppIdentifier.description", + "value": "The app identifier should be your app's URL and is used as the primary identifier for rankings.\nThis is used to track API usage per application.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppDisplayName.name", + "value": "X-Title", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppDisplayName.in", + "value": "header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppDisplayName.schema.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.parameters.AppDisplayName.description", + "value": "The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.type", + "value": "http", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.scheme", + "value": "bearer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.apiKey.description", + "value": "API key as bearer token in Authorization header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.type", + "value": "http", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.scheme", + "value": "bearer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "components.securitySchemes.bearer.description", + "value": "API key as bearer token in Authorization header", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.x-speakeasy-name-override", + "value": "send", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.tags", + "value": [ + "beta.responses" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.summary", + "value": "Create a response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.description", + "value": "Creates a streaming or non-streaming response using OpenResponses API format", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/OpenResponsesRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.description", + "value": "Successful response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/OpenResponsesNonStreamingResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/OpenResponsesStreamEvent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.408.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.408.content.application/json.schema.$ref", + "value": "#/components/schemas/RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.413.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.413.content.application/json.schema.$ref", + "value": "#/components/schemas/PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.422.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.422.content.application/json.schema.$ref", + "value": "#/components/schemas/UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.post.operationId", + "value": "createResponses", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./responses.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.tags", + "value": [ + "Anthropic Messages" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.summary", + "value": "Create a message", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.description", + "value": "Creates a message using the Anthropic Messages API format. Supports text, images, PDFs, tools, and extended thinking.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/AnthropicMessagesRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.description", + "value": "Successful response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/AnthropicMessagesResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.properties.event.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/AnthropicMessagesStreamEvent", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "event", + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.description", + "value": "Invalid request error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.400.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.description", + "value": "Authentication error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.401.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.description", + "value": "Permission denied error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.403.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.description", + "value": "Not found error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.404.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.description", + "value": "Rate limit error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.429.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.description", + "value": "API error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.500.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.description", + "value": "Overloaded error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.503.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.description", + "value": "Overloaded error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.type.enum", + "value": [ + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.properties.type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.properties.message.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.properties.error.required", + "value": [ + "type", + "message" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.responses.529.content.application/json.schema.required", + "value": [ + "type", + "error" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.post.operationId", + "value": "createMessages", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./messages.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.tags", + "value": [ + "Analytics" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.operationId", + "value": "getUserActivity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.summary", + "value": "Get user activity grouped by endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.description", + "value": "Returns user activity data grouped by endpoint for the last 30 (completed) UTC days. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).", + "example": "2025-08-24" + }, + "required": false, + "description": "Filter by a single UTC date in the last 30 days (YYYY-MM-DD format).", + "name": "date", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.description", + "value": "Returns user activity data grouped by endpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.items.$ref", + "value": "#/components/schemas/ActivityItem", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of activity items", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "date": "2025-08-24", + "model": "openai/gpt-4.1", + "model_permaslug": "openai/gpt-4.1-2025-04-14", + "endpoint_id": "550e8400-e29b-41d4-a716-446655440000", + "provider_name": "OpenAI", + "usage": 0.015, + "byok_usage_inference": 0.012, + "requests": 5, + "prompt_tokens": 50, + "completion_tokens": 125, + "reasoning_tokens": 25 + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.400.description", + "value": "Bad Request - Invalid date format or date range", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.403.description", + "value": "Forbidden - Only management keys can fetch activity", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./activity.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-group", + "value": "chat", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-name-override", + "value": "send", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.x-speakeasy-stream-request-field", + "value": "stream", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.tags", + "value": [ + "Chat" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.summary", + "value": "Create a chat completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.operationId", + "value": "sendChatCompletionRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.description", + "value": "Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/ChatGenerationParams", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.description", + "value": "Successful chat completion response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ChatResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.properties.data.$ref", + "value": "#/components/schemas/ChatStreamingResponseChunk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.408.description", + "value": "Request Timeout - Operation exceeded time limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.408.content.application/json.schema.$ref", + "value": "#/components/schemas/RequestTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.413.description", + "value": "Payload Too Large - Request payload exceeds size limits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.413.content.application/json.schema.$ref", + "value": "#/components/schemas/PayloadTooLargeResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.422.description", + "value": "Unprocessable Entity - Semantic validation failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.422.content.application/json.schema.$ref", + "value": "#/components/schemas/UnprocessableEntityResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./chat/completions.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.x-speakeasy-name-override", + "value": "getCredits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.tags", + "value": [ + "Credits" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.summary", + "value": "Get remaining credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.operationId", + "value": "getCredits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.description", + "value": "Get total credits purchased and used for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.description", + "value": "Returns the total credits purchased and used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.description", + "value": "Total credits purchased", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_credits.example", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.description", + "value": "Total credits used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.properties.total_usage.example", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "total_credits", + "total_usage" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.example.total_credits", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.properties.data.example.total_usage", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.description", + "value": "Total credits purchased and used", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.example.data.total_credits", + "value": 100.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.200.content.application/json.schema.example.data.total_usage", + "value": 25.75, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.403.description", + "value": "Forbidden - Only management keys can fetch credits", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.security", + "value": [ + { + "bearer": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.x-speakeasy-name-override", + "value": "createCoinbaseCharge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.tags", + "value": [ + "Credits" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.summary", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.operationId", + "value": "createCoinbaseCharge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.description", + "value": "Create a Coinbase charge for crypto payment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.requestBody.content.application/json.schema.$ref", + "value": "#/components/schemas/CreateChargeRequest", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.description", + "value": "Returns the calldata to fulfill the transaction", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.deadline.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.fee_amount.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.operator.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.prefix.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient_amount.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.recipient_currency.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.refund_destination.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.properties.signature.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.call_data.required", + "value": [ + "deadline", + "fee_amount", + "id", + "operator", + "prefix", + "recipient", + "recipient_amount", + "recipient_currency", + "refund_destination", + "signature" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.chain_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.contract_address.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.properties.sender.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.properties.metadata.required", + "value": [ + "chain_id", + "contract_address", + "sender" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.properties.transfer_intent.required", + "value": [ + "call_data", + "metadata" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.properties.web3_data.required", + "value": [ + "transfer_intent" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "created_at", + "expires_at", + "web3_data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.400.description", + "value": "Bad Request - Invalid credit amount or request body", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./credits/coinbase.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.x-speakeasy-name-override", + "value": "generate", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.tags", + "value": [ + "Embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.summary", + "value": "Submit an embedding request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.description", + "value": "Submits an embedding request to the embeddings router", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.input.anyOf", + "value": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "text" + ] + }, + "text": { + "type": "string" + } + }, + "required": [ + "type", + "text" + ] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "image_url" + ] + }, + "image_url": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + } + }, + "required": [ + "type", + "image_url" + ] + } + ] + } + } + }, + "required": [ + "content" + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.encoding_format.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.encoding_format.enum", + "value": [ + "float", + "base64" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.encoding_format.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.type", + "value": "integer", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.dimensions.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.provider.$ref", + "value": "#/components/schemas/ProviderPreferences", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.properties.input_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.content.application/json.schema.required", + "value": [ + "input", + "model" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.description", + "value": "Embedding response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.object.enum", + "value": [ + "list" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.object.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.object.enum", + "value": [ + "embedding" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.embedding.anyOf", + "value": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.properties.index.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "object", + "embedding" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.prompt_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.total_tokens.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.properties.cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.properties.usage.required", + "value": [ + "prompt_tokens", + "total_tokens" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.application/json.schema.required", + "value": [ + "object", + "data", + "model" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.schema.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.schema.description", + "value": "Not used for embeddings - embeddings do not support streaming", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.200.content.text/event-stream.x-speakeasy-sse-sentinel", + "value": "[DONE]", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.404.description", + "value": "Not Found - Resource does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.503.description", + "value": "Service Unavailable - Service temporarily unavailable", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.503.content.application/json.schema.$ref", + "value": "#/components/schemas/ServiceUnavailableResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.524.description", + "value": "Cloudflare Timeout - Provider request timed out at CDN edge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.post.operationId", + "value": "createEmbeddings", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.tags", + "value": [ + "Embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.x-speakeasy-name-override", + "value": "listModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.summary", + "value": "List all embeddings models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.description", + "value": "Returns a list of all available embeddings models and their properties", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.200.description", + "value": "Returns a list of embeddings models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.get.operationId", + "value": "listEmbeddingsModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./embeddings/models.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.tags", + "value": [ + "Generations" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.summary", + "value": "Get request & usage metadata for a generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "minLength": 1 + }, + "required": true, + "name": "id", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.description", + "value": "Returns the request metadata for this generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.description", + "value": "Upstream provider's identifier for this generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_id.example", + "value": "chatcmpl-791bcf62-080e-4568-87d0-94c72e3b4946", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.description", + "value": "Total cost of the generation in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.total_cost.example", + "value": 0.0015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.description", + "value": "Discount applied due to caching", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cache_discount.example", + "value": 0.0002, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.description", + "value": "Cost charged by the upstream provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.upstream_inference_cost.example", + "value": 0.0012, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the generation was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2024-07-15T23:33:19.433273+00:00", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.description", + "value": "Model used for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.model.example", + "value": "sao10k/l3-stheno-8b", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.description", + "value": "ID of the app that made the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.app_id.example", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.description", + "value": "Whether the response was streamed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.streamed.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.description", + "value": "Whether the generation was cancelled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.cancelled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.description", + "value": "Name of the provider that served the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_name.example", + "value": "Infermatic", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.description", + "value": "Total latency in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.latency.example", + "value": 1250, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.description", + "value": "Moderation latency in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.moderation_latency.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.description", + "value": "Time taken for generation in milliseconds", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.generation_time.example", + "value": 1200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.description", + "value": "Reason the generation finished", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.finish_reason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.description", + "value": "Number of tokens in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_prompt.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.description", + "value": "Number of tokens in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.tokens_completion.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.description", + "value": "Native prompt tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_prompt.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.description", + "value": "Native completion tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.description", + "value": "Native completion image tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_completion_images.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.description", + "value": "Native reasoning tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_reasoning.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.description", + "value": "Native cached tokens as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_tokens_cached.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.description", + "value": "Number of media items in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_prompt.example", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.description", + "value": "Number of audio inputs in the prompt", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_input_audio_prompt.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.description", + "value": "Number of media items in the completion", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_media_completion.example", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.description", + "value": "Number of search results included", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.num_search_results.example", + "value": 5, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.description", + "value": "Origin URL of the request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.origin.example", + "value": "https://openrouter.ai/", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Usage amount in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 0.0015, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.description", + "value": "Whether this used bring-your-own-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.is_byok.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.description", + "value": "Native finish reason as reported by provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.native_finish_reason.example", + "value": "stop", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.description", + "value": "External user identifier", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.external_user.example", + "value": "user-123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.enum", + "value": [ + "completions", + "embeddings" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.description", + "value": "Type of API used for the generation", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.api_type.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.description", + "value": "Router used for the request (e.g., openrouter/auto)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.router.example", + "value": "openrouter/auto", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.endpoint_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.model_permaslug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.provider_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.provider_name.enum", + "value": [ + "AnyScale", + "Atoma", + "Cent-ML", + "CrofAI", + "Enfer", + "GoPomelo", + "HuggingFace", + "Hyperbolic 2", + "InoCloud", + "Kluster", + "Lambda", + "Lepton", + "Lynn 2", + "Lynn", + "Mancer", + "Meta", + "Modal", + "Nineteen", + "OctoAI", + "Recursal", + "Reflection", + "Replicate", + "SambaNova 2", + "SF Compute", + "Targon", + "Together 2", + "Ubicloud", + "01.AI", + "AI21", + "AionLabs", + "Alibaba", + "Ambient", + "Amazon Bedrock", + "Amazon Nova", + "Anthropic", + "Arcee AI", + "AtlasCloud", + "Avian", + "Azure", + "BaseTen", + "BytePlus", + "Black Forest Labs", + "Cerebras", + "Chutes", + "Cirrascale", + "Clarifai", + "Cloudflare", + "Cohere", + "Crusoe", + "DeepInfra", + "DeepSeek", + "Featherless", + "Fireworks", + "Friendli", + "GMICloud", + "Google", + "Google AI Studio", + "Groq", + "Hyperbolic", + "Inception", + "Inceptron", + "InferenceNet", + "Ionstream", + "Infermatic", + "Io Net", + "Inflection", + "Liquid", + "Mara", + "Mancer 2", + "Minimax", + "ModelRun", + "Mistral", + "Modular", + "Moonshot AI", + "Morph", + "NCompass", + "Nebius", + "NextBit", + "Novita", + "Nvidia", + "OpenAI", + "OpenInference", + "Parasail", + "Perplexity", + "Phala", + "Relace", + "SambaNova", + "Seed", + "SiliconFlow", + "Sourceful", + "StepFun", + "Stealth", + "StreamLake", + "Switchpoint", + "Together", + "Upstage", + "Venice", + "WandB", + "Xiaomi", + "xAI", + "Z.AI", + "FakeProvider" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.provider_name.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.status.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.status.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.latency.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.properties.is_byok.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.items.required", + "value": [ + "status" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.properties.provider_responses.description", + "value": "List of provider responses for this generation, including fallback attempts", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "upstream_id", + "total_cost", + "cache_discount", + "upstream_inference_cost", + "created_at", + "model", + "app_id", + "streamed", + "cancelled", + "provider_name", + "latency", + "moderation_latency", + "generation_time", + "finish_reason", + "tokens_prompt", + "tokens_completion", + "native_tokens_prompt", + "native_tokens_completion", + "native_tokens_completion_images", + "native_tokens_reasoning", + "native_tokens_cached", + "num_media_prompt", + "num_input_audio_prompt", + "num_media_completion", + "num_search_results", + "origin", + "usage", + "is_byok", + "native_finish_reason", + "external_user", + "api_type", + "router", + "provider_responses" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.properties.data.description", + "value": "Generation data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.200.content.application/json.schema.description", + "value": "Generation response", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.402.description", + "value": "Payment Required - Insufficient credits or quota to complete request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.402.content.application/json.schema.$ref", + "value": "#/components/schemas/PaymentRequiredResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.404.description", + "value": "Not Found - Generation not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.502.description", + "value": "Bad Gateway - Provider/upstream API failure", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.502.content.application/json.schema.$ref", + "value": "#/components/schemas/BadGatewayResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.524.description", + "value": "Infrastructure Timeout - Request timed out at our edge network", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.524.content.application/json.schema.$ref", + "value": "#/components/schemas/EdgeNetworkTimeoutResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.529.description", + "value": "Provider Overloaded - Provider is temporarily overloaded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.responses.529.content.application/json.schema.$ref", + "value": "#/components/schemas/ProviderOverloadedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.get.operationId", + "value": "getGeneration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./generation.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.x-speakeasy-name-override", + "value": "count", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.summary", + "value": "Get total count of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.200.description", + "value": "Returns the total count of available models", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsCountResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.get.operationId", + "value": "listModelsCount", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/count.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.summary", + "value": "List all models and their properties", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "enum": [ + "programming", + "roleplay", + "marketing", + "marketing/seo", + "technology", + "science", + "translation", + "legal", + "finance", + "health", + "trivia", + "academia" + ], + "description": "Filter models by use case category", + "example": "programming", + "x-speakeasy-unknown-values": "allow" + }, + "required": false, + "description": "Filter models by use case category", + "name": "category", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "supported_parameters", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.200.description", + "value": "Returns a list of models or RSS feed", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.get.operationId", + "value": "getModels", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.tags", + "value": [ + "Models" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.x-speakeasy-name-override", + "value": "listForUser", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.description", + "value": "List models filtered by user provider preferences, [privacy settings](https://openrouter.ai/docs/guides/privacy/logging), and [guardrails](https://openrouter.ai/docs/guides/features/guardrails). If requesting through `eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region routing](https://openrouter.ai/docs/guides/privacy/logging#enterprise-eu-in-region-routing).", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.summary", + "value": "List models filtered by user provider preferences, privacy settings, and guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.security", + "value": [ + { + "bearer": [] + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.200.description", + "value": "Returns a list of models filtered by user provider preferences", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.200.content.application/json.schema.$ref", + "value": "#/components/schemas/ModelsListResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.404.description", + "value": "Not Found - No eligible endpoints found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.get.operationId", + "value": "listModelsUser", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/user.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.tags", + "value": [ + "Endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.operationId", + "value": "listEndpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.summary", + "value": "List all endpoints for a model", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.parameters", + "value": [ + { + "schema": { + "type": "string" + }, + "required": true, + "name": "author", + "in": "path" + }, + { + "schema": { + "type": "string" + }, + "required": true, + "name": "slug", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.description", + "value": "Returns a list of endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.properties.data.$ref", + "value": "#/components/schemas/ListEndpointsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.404.description", + "value": "Not Found - Model does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./models/{author}/{slug}/endpoints.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.tags", + "value": [ + "Endpoints" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.x-speakeasy-name-override", + "value": "listZdrEndpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.summary", + "value": "Preview the impact of ZDR on the available endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.description", + "value": "Returns a list of endpoints", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.properties.data.items.$ref", + "value": "#/components/schemas/PublicEndpoint", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.get.operationId", + "value": "listEndpointsZdr", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./endpoints/zdr.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.tags", + "value": [ + "Providers" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.summary", + "value": "List all providers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.operationId", + "value": "listProviders", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.description", + "value": "Returns a list of providers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Display name of the provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.description", + "value": "URL-friendly identifier for the provider", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.slug.example", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.description", + "value": "URL to the provider's privacy policy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.privacy_policy_url.example", + "value": "https://openai.com/privacy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.description", + "value": "URL to the provider's terms of service", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.terms_of_service_url.example", + "value": "https://openai.com/terms", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.description", + "value": "URL to the provider's status page", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.properties.status_page_url.example", + "value": "https://status.openai.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "name", + "slug", + "privacy_policy_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "OpenAI", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.slug", + "value": "openai", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.privacy_policy_url", + "value": "https://openai.com/privacy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.terms_of_service_url", + "value": "https://openai.com/terms", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.properties.data.items.example.status_page_url", + "value": "https://status.openai.com", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./providers.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.operationId", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.summary", + "value": "List API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.description", + "value": "List all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Whether to include disabled API keys in the response", + "example": "false" + }, + "required": false, + "description": "Whether to include disabled API keys in the response", + "name": "include_disabled", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Number of API keys to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of API keys to skip for pagination", + "name": "offset", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.description", + "value": "List of API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.items.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of API keys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "name": "My Production Key", + "label": "Production API Key", + "disabled": false, + "limit": 100, + "limit_remaining": 74.5, + "limit_reset": "monthly", + "include_byok_in_limit": false, + "usage": 25.5, + "usage_daily": 25.5, + "usage_weekly": 25.5, + "usage_monthly": 25.5, + "byok_usage": 17.38, + "byok_usage_daily": 17.38, + "byok_usage_weekly": 17.38, + "byok_usage_monthly": 17.38, + "created_at": "2025-08-24T10:30:00Z", + "updated_at": "2025-08-24T15:45:00Z", + "expires_at": "2027-12-31T23:59:59Z" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.summary", + "value": "Create a new API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.description", + "value": "Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.description", + "value": "Name for the new API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.name.example", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.description", + "value": "Optional spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.description", + "value": "Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.limit_reset.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.description", + "value": "Whether to include BYOK usage in the limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.include_byok_in_limit.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.description", + "value": "Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.name", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.limit", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.content.application/json.schema.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.description", + "value": "API key created successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.data.description", + "value": "The created API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.description", + "value": "The actual API key string (only shown once)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.properties.key.example", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.required", + "value": [ + "data", + "key" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.name", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.label", + "value": "My New API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit_remaining", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_daily", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_weekly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.usage_monthly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_daily", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_weekly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.byok_usage_monthly", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.updated_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.201.content.application/json.schema.example.key", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.post.operationId", + "value": "createKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.x-speakeasy-name-override", + "value": "update", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.summary", + "value": "Update an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.description", + "value": "Update an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to update", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to update", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.description", + "value": "New name for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.name.example", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.description", + "value": "Whether to disable the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.description", + "value": "New spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit.example", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.description", + "value": "New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.example", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.limit_reset.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.description", + "value": "Whether to include BYOK usage in the limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.properties.include_byok_in_limit.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.name", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.limit", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.limit_reset", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.content.application/json.schema.example.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.description", + "value": "API key updated successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.properties.data.description", + "value": "The updated API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.name", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.label", + "value": "Updated API Key Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 49.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "daily", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T16:00:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.200.content.application/json.schema.example.data.expires_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.patch.operationId", + "value": "updateKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.x-speakeasy-name-override", + "value": "delete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.summary", + "value": "Delete an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.description", + "value": "Delete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to delete", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to delete", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.description", + "value": "API key deleted successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.const", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.description", + "value": "Confirmation that the API key was deleted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.properties.deleted.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.required", + "value": [ + "deleted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.200.content.application/json.schema.example.deleted", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.delete.operationId", + "value": "deleteKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.operationId", + "value": "getKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.x-speakeasy-name-override", + "value": "get", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.summary", + "value": "Get a single API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.description", + "value": "Get a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "The hash identifier of the API key to retrieve", + "example": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943" + }, + "required": true, + "description": "The hash identifier of the API key to retrieve", + "name": "hash", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.description", + "value": "API key details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.description", + "value": "Unique hash identifier for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.hash.example", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.description", + "value": "Whether the API key is disabled", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.disabled.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the API key was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the API key was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "hash", + "name", + "label", + "disabled", + "limit", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "created_at", + "updated_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.properties.data.description", + "value": "The API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.hash", + "value": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.name", + "value": "My Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.label", + "value": "Production API Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.disabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.200.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.404.description", + "value": "Not Found - API key does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.429.description", + "value": "Too Many Requests - Rate limit exceeded", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.429.content.application/json.schema.$ref", + "value": "#/components/schemas/TooManyRequestsResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./keys/{hash}.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.operationId", + "value": "listGuardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.x-speakeasy-name-override", + "value": "list", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.summary", + "value": "List guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.description", + "value": "List all guardrails for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.description", + "value": "List of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.items.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of guardrails", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.example.data", + "value": [ + { + "id": "550e8400-e29b-41d4-a716-446655440000", + "name": "Production Guardrail", + "description": "Guardrail for production environment", + "limit_usd": 100, + "reset_interval": "monthly", + "allowed_providers": [ + "openai", + "anthropic", + "google" + ], + "allowed_models": null, + "enforce_zdr": false, + "created_at": "2025-08-24T10:30:00Z", + "updated_at": "2025-08-24T15:45:00Z" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.200.content.application/json.schema.example.total_count", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.operationId", + "value": "createGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.x-speakeasy-name-override", + "value": "create", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.summary", + "value": "Create a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.description", + "value": "Create a new guardrail for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.maxLength", + "value": 200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.description", + "value": "Name for the new guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.name.example", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.maxLength", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.description.example", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.limit_usd.example", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.description", + "value": "Array of model identifiers (slug or canonical_slug accepted)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.required", + "value": [ + "name" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.name", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.description", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.limit_usd", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.content.application/json.schema.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.description", + "value": "Guardrail created successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.properties.data.description", + "value": "The created guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.name", + "value": "My New Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.description", + "value": "A guardrail for limiting API usage", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.limit_usd", + "value": 50, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.201.content.application/json.schema.example.data.updated_at", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.operationId", + "value": "getGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.x-speakeasy-name-override", + "value": "get", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.summary", + "value": "Get a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.description", + "value": "Get a single guardrail by ID. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to retrieve", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to retrieve", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.description", + "value": "Guardrail details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.properties.data.description", + "value": "The guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.operationId", + "value": "updateGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.x-speakeasy-name-override", + "value": "update", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.summary", + "value": "Update a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.description", + "value": "Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to update", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to update", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.maxLength", + "value": 200, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.description", + "value": "New name for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.name.example", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.maxLength", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.description", + "value": "New description for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.description.example", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.description", + "value": "New spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.limit_usd.example", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.description", + "value": "New list of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "deepseek" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.description", + "value": "Array of model identifiers (slug or canonical_slug accepted)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.properties.enforce_zdr.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.name", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.description", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.limit_usd", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.content.application/json.schema.example.reset_interval", + "value": "weekly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.description", + "value": "Guardrail updated successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "Unique identifier for the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.description", + "value": "Name of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.name.example", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.description", + "value": "Description of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.description.example", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.minimum", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.exclusiveMinimum", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.description", + "value": "Spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.limit_usd.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.description", + "value": "Interval at which the limit resets (daily, weekly, monthly)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.reset_interval.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.description", + "value": "List of allowed provider IDs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_providers.example", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.description", + "value": "Array of model canonical_slugs (immutable identifiers)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.allowed_models.example", + "value": [ + "openai/gpt-5.2-20251211", + "anthropic/claude-4.5-opus-20251124", + "deepseek/deepseek-r1-0528:free" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.description", + "value": "Whether to enforce zero data retention", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.enforce_zdr.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the guardrail was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.description", + "value": "ISO 8601 timestamp of when the guardrail was last updated", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.properties.updated_at.example", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "name", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.name", + "value": "Production Guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.description", + "value": "Guardrail for production environment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.limit_usd", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.reset_interval", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.allowed_providers", + "value": [ + "openai", + "anthropic", + "google" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.enforce_zdr", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.example.updated_at", + "value": "2025-08-24T15:45:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.properties.data.description", + "value": "The updated guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.id", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.name", + "value": "Updated Guardrail Name", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.description", + "value": "Updated description", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.limit_usd", + "value": 75, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.reset_interval", + "value": "weekly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.allowed_providers", + "value": [ + "openai" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.allowed_models", + "value": null, + "type": "null", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.enforce_zdr", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.200.content.application/json.schema.example.data.updated_at", + "value": "2025-08-24T16:00:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.400.description", + "value": "Bad Request - Invalid request parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.patch.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.operationId", + "value": "deleteGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.x-speakeasy-name-override", + "value": "delete", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.summary", + "value": "Delete a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.description", + "value": "Delete an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail to delete", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail to delete", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.description", + "value": "Guardrail deleted successfully", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.const", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.description", + "value": "Confirmation that the guardrail was deleted", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.properties.deleted.example", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.required", + "value": [ + "deleted" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.200.content.application/json.schema.example.deleted", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.404.description", + "value": "Not Found - Guardrail does not exist", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.delete.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.operationId", + "value": "listKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.x-speakeasy-name-override", + "value": "listKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.summary", + "value": "List all key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.description", + "value": "List all API key guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.description", + "value": "Hash of the assigned API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.example", + "value": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.example", + "value": "Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.description", + "value": "Label of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.example", + "value": "prod-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "key_hash", + "guardrail_id", + "key_name", + "key_label", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of key assignments for this guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/keys.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.operationId", + "value": "listMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.x-speakeasy-name-override", + "value": "listMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.summary", + "value": "List all member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.description", + "value": "List all organization member guardrail assignments for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.description", + "value": "Clerk user ID of the assigned member", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.description", + "value": "Organization ID", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.example", + "value": "org_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "user_id", + "organization_id", + "guardrail_id", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/assignments/members.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.operationId", + "value": "listGuardrailKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.x-speakeasy-name-override", + "value": "listGuardrailKeyAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.summary", + "value": "List key assignments for a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.description", + "value": "List all API key assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + }, + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.description", + "value": "Hash of the assigned API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_hash.example", + "value": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.description", + "value": "Name of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_name.example", + "value": "Production Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.description", + "value": "Label of the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.key_label.example", + "value": "prod-key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "key_hash", + "guardrail_id", + "key_name", + "key_label", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of key assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of key assignments for this guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 25, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.operationId", + "value": "bulkAssignKeysToGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.x-speakeasy-name-override", + "value": "bulkAssignKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.summary", + "value": "Bulk assign keys to a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.description", + "value": "Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.description", + "value": "Array of API key hashes to assign to the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.properties.key_hashes.example", + "value": [ + "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.content.application/json.schema.required", + "value": [ + "key_hashes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.description", + "value": "Assignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.description", + "value": "Number of keys successfully assigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.properties.assigned_count.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.200.content.application/json.schema.required", + "value": [ + "assigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.operationId", + "value": "listGuardrailMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.x-speakeasy-name-override", + "value": "listGuardrailMemberAssignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.summary", + "value": "List member assignments for a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.description", + "value": "List all organization member assignments for a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + }, + { + "schema": { + "type": "string", + "description": "Number of records to skip for pagination", + "example": "0" + }, + "required": false, + "description": "Number of records to skip for pagination", + "name": "offset", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Maximum number of records to return (max 100)", + "example": "50" + }, + "required": false, + "description": "Maximum number of records to return (max 100)", + "name": "limit", + "in": "query" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.description", + "value": "Unique identifier for the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.id.example", + "value": "550e8400-e29b-41d4-a716-446655440000", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.description", + "value": "Clerk user ID of the assigned member", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.user_id.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.description", + "value": "Organization ID", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.organization_id.example", + "value": "org_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.format", + "value": "uuid", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.description", + "value": "ID of the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.guardrail_id.example", + "value": "550e8400-e29b-41d4-a716-446655440001", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.description", + "value": "User ID of who made the assignment", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.assigned_by.example", + "value": "user_abc123", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.description", + "value": "ISO 8601 timestamp of when the assignment was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.items.required", + "value": [ + "id", + "user_id", + "organization_id", + "guardrail_id", + "assigned_by", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.data.description", + "value": "List of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.description", + "value": "Total number of member assignments", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.properties.total_count.example", + "value": 10, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.200.content.application/json.schema.required", + "value": [ + "data", + "total_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.operationId", + "value": "bulkAssignMembersToGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.x-speakeasy-name-override", + "value": "bulkAssignMembers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.summary", + "value": "Bulk assign members to a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.description", + "value": "Assign multiple organization members to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.description", + "value": "Array of member user IDs to assign to the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.properties.member_user_ids.example", + "value": [ + "user_abc123", + "user_def456" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.content.application/json.schema.required", + "value": [ + "member_user_ids" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.description", + "value": "Assignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.description", + "value": "Number of members successfully assigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.properties.assigned_count.example", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.200.content.application/json.schema.required", + "value": [ + "assigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.operationId", + "value": "bulkUnassignKeysFromGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.x-speakeasy-name-override", + "value": "bulkUnassignKeys", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.summary", + "value": "Bulk unassign keys from a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.description", + "value": "Unassign multiple API keys from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.description", + "value": "Array of API key hashes to unassign from the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.properties.key_hashes.example", + "value": [ + "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.content.application/json.schema.required", + "value": [ + "key_hashes" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.description", + "value": "Unassignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.description", + "value": "Number of keys successfully unassigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.example", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.200.content.application/json.schema.required", + "value": [ + "unassigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/keys/remove.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.operationId", + "value": "bulkUnassignMembersFromGuardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.x-speakeasy-name-override", + "value": "bulkUnassignMembers", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.tags", + "value": [ + "Guardrails" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.summary", + "value": "Bulk unassign members from a guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.description", + "value": "Unassign multiple organization members from a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.parameters", + "value": [ + { + "schema": { + "type": "string", + "format": "uuid", + "description": "The unique identifier of the guardrail", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "required": true, + "description": "The unique identifier of the guardrail", + "name": "id", + "in": "path" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.type", + "value": "array", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.items.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.items.minLength", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.minItems", + "value": 1, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.description", + "value": "Array of member user IDs to unassign from the guardrail", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.properties.member_user_ids.example", + "value": [ + "user_abc123", + "user_def456" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.content.application/json.schema.required", + "value": [ + "member_user_ids" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.description", + "value": "Unassignment result", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.description", + "value": "Number of members successfully unassigned", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.properties.unassigned_count.example", + "value": 2, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.200.content.application/json.schema.required", + "value": [ + "unassigned_count" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.400.description", + "value": "Bad Request - Invalid input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.401.description", + "value": "Unauthorized - Missing or invalid authentication", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.404.description", + "value": "Guardrail not found", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.404.content.application/json.schema.$ref", + "value": "#/components/schemas/NotFoundResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.500.description", + "value": "Internal Server Error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./guardrails/{id}/assignments/members/remove.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.operationId", + "value": "getCurrentKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.x-speakeasy-name-override", + "value": "getCurrentKeyMetadata", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.tags", + "value": [ + "API Keys" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.summary", + "value": "Get current API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.description", + "value": "Get information on the API key associated with the current authentication session", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.description", + "value": "API key details", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.description", + "value": "Human-readable label for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.label.example", + "value": "sk-or-v1-0e6...1c96", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.description", + "value": "Spending limit for the API key in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.description", + "value": "Total OpenRouter credit usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.description", + "value": "OpenRouter credit usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_daily.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_weekly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.description", + "value": "OpenRouter credit usage (in USD) for the current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.usage_monthly.example", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.description", + "value": "Total external BYOK usage (in USD) for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.description", + "value": "External BYOK usage (in USD) for the current UTC day", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_daily.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.description", + "value": "External BYOK usage (in USD) for the current UTC week (Monday-Sunday)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_weekly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.description", + "value": "External BYOK usage (in USD) for current UTC month", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.byok_usage_monthly.example", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.description", + "value": "Whether this is a free tier API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_free_tier.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.description", + "value": "Whether this is a management key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_management_key.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.description", + "value": "Whether this is a management key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.is_provisioning_key.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.description", + "value": "Remaining spending limit in USD", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_remaining.example", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.description", + "value": "Type of limit reset for the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.limit_reset.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.description", + "value": "Whether to include external BYOK usage in the credit limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.include_byok_in_limit.example", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.description", + "value": "ISO 8601 UTC timestamp when the API key expires, or null if no expiration", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.expires_at.example", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.description", + "value": "Number of requests allowed per interval", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.requests.example", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.description", + "value": "Rate limit interval", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.interval.example", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.description", + "value": "Note about the rate limit", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.properties.note.example", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.required", + "value": [ + "requests", + "interval", + "note" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.description", + "value": "Legacy rate limit information about a key. Will always return -1.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.deprecated", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.properties.rate_limit.example.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "label", + "limit", + "usage", + "usage_daily", + "usage_weekly", + "usage_monthly", + "byok_usage", + "byok_usage_daily", + "byok_usage_weekly", + "byok_usage_monthly", + "is_free_tier", + "is_management_key", + "is_provisioning_key", + "limit_remaining", + "limit_reset", + "include_byok_in_limit", + "rate_limit" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.description", + "value": "Current API key information", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.label", + "value": "sk-or-v1-au7...890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_free_tier", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_management_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.is_provisioning_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.properties.data.example.rate_limit.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.label", + "value": "sk-or-v1-au7...890", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_daily", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_weekly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.usage_monthly", + "value": 25.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_daily", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_weekly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.byok_usage_monthly", + "value": 17.38, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_free_tier", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_management_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.is_provisioning_key", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit_remaining", + "value": 74.5, + "type": "number", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.limit_reset", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.include_byok_in_limit", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.expires_at", + "value": "2027-12-31T23:59:59Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.requests", + "value": 1000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.interval", + "value": "1h", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.200.content.application/json.schema.example.data.rate_limit.note", + "value": "This field is deprecated and safe to ignore.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.get.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./key.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.operationId", + "value": "exchangeAuthCodeForAPIKey", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.tags", + "value": [ + "OAuth" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.summary", + "value": "Exchange authorization code for API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.description", + "value": "Exchange an authorization code from the PKCE flow for a user-controlled API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.description", + "value": "The authorization code received from the OAuth redirect", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code.example", + "value": "auth_code_abc123def456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.description", + "value": "The code verifier if code_challenge was used in the authorization request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_verifier.example", + "value": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.enum", + "value": [ + "S256", + "plain" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.description", + "value": "The method used to generate the code challenge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.example", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.properties.code_challenge_method.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.required", + "value": [ + "code" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code", + "value": "auth_code_abc123def456", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code_verifier", + "value": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.content.application/json.schema.example.code_challenge_method", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.description", + "value": "Successfully exchanged code for an API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.description", + "value": "The API key to use for OpenRouter requests", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.key.example", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.description", + "value": "User ID associated with the API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.properties.user_id.example", + "value": "user_2yOPcMpKoQhcd4bVgSMlELRaIah", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.required", + "value": [ + "key", + "user_id" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.example.key", + "value": "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", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.200.content.application/json.schema.example.user_id", + "value": "user_2yOPcMpKoQhcd4bVgSMlELRaIah", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.403.description", + "value": "Forbidden - Authentication successful but insufficient permissions", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.403.content.application/json.schema.$ref", + "value": "#/components/schemas/ForbiddenResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.x-speakeasy-name-override", + "value": "createAuthCode", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.tags", + "value": [ + "OAuth" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.summary", + "value": "Create authorization code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.description", + "value": "Create an authorization code for the PKCE flow to generate a user-controlled API key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.format", + "value": "uri", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.description", + "value": "The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.callback_url.example", + "value": "https://myapp.com/auth/callback", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.description", + "value": "PKCE code challenge for enhanced security", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge.example", + "value": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.enum", + "value": [ + "S256", + "plain" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.description", + "value": "The method used to generate the code challenge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.example", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.code_challenge_method.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.description", + "value": "Credit limit for the API key to be created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.limit.example", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.nullable", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.format", + "value": "date-time", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.expires_at.description", + "value": "Optional expiration time for the API key to be created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.maxLength", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.description", + "value": "Optional custom label for the API key. Defaults to the app name if not provided.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.key_label.example", + "value": "My Custom Key", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.enum", + "value": [ + "daily", + "weekly", + "monthly" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.description", + "value": "Optional credit limit reset interval. When set, the credit limit resets on this interval.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.example", + "value": "monthly", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.usage_limit_type.x-speakeasy-unknown-values", + "value": "allow", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.description", + "value": "Agent identifier for spawn telemetry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_agent.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.description", + "value": "Cloud identifier for spawn telemetry", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.x-speakeasy-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.properties.spawn_cloud.x-fern-ignore", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.required", + "value": [ + "callback_url" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.callback_url", + "value": "https://myapp.com/auth/callback", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.code_challenge", + "value": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.code_challenge_method", + "value": "S256", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.content.application/json.schema.example.limit", + "value": 100, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.requestBody.required", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.description", + "value": "Successfully created authorization code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.type", + "value": "object", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.description", + "value": "The authorization code ID to use in the exchange request", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.id.example", + "value": "auth_code_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.type", + "value": "number", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.description", + "value": "The application ID associated with this auth code", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.app_id.example", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.description", + "value": "ISO 8601 timestamp of when the auth code was created", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.properties.created_at.example", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.required", + "value": [ + "id", + "app_id", + "created_at" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.description", + "value": "Auth code data", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.id", + "value": "auth_code_xyz789", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.app_id", + "value": 12345, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.properties.data.example.created_at", + "value": "2025-08-24T10:30:00Z", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.200.content.application/json.schema.required", + "value": [ + "data" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.400.description", + "value": "Bad Request - Invalid request parameters or malformed input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.400.content.application/json.schema.$ref", + "value": "#/components/schemas/BadRequestResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.401.description", + "value": "Unauthorized - Authentication required or invalid credentials", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.401.content.application/json.schema.$ref", + "value": "#/components/schemas/UnauthorizedResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.500.description", + "value": "Internal Server Error - Unexpected server error", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.responses.500.content.application/json.schema.$ref", + "value": "#/components/schemas/InternalServerResponse", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.post.operationId", + "value": "createAuthKeysCode", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "paths./auth/keys/code.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "tags", + "value": [ + { + "name": "API Keys", + "description": "API key management endpoints" + }, + { + "name": "Analytics", + "description": "Analytics and usage endpoints" + }, + { + "name": "Anthropic Messages", + "description": "Anthropic Messages endpoints" + }, + { + "name": "Chat", + "description": "Chat completion endpoints" + }, + { + "name": "Credits", + "description": "Credit management endpoints" + }, + { + "name": "Embeddings", + "description": "Text embedding endpoints" + }, + { + "name": "Endpoints", + "description": "Endpoint information" + }, + { + "name": "Generations", + "description": "Generation history endpoints" + }, + { + "name": "Guardrails", + "description": "Guardrails endpoints" + }, + { + "name": "Models", + "description": "Model information endpoints" + }, + { + "name": "OAuth", + "description": "OAuth authentication endpoints" + }, + { + "name": "Providers", + "description": "Provider information endpoints" + }, + { + "name": "beta.responses", + "description": "beta.responses endpoints" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "x-fern-base-path", + "value": "/", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.type", + "value": "exponential", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.initialDelay", + "value": 500, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.maxDelay", + "value": 60000, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "x-retry-strategy.maxAttempts", + "value": 3, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "x-speakeasy-globals.parameters", + "value": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/gen.yaml", + "relative_path": ".speakeasy/gen.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 64, + "settings": [ + { + "key": "configVersion", + "value": "2.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.devContainers.enabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.devContainers.schemaPath", + "value": ".speakeasy/out.openapi.yaml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.sdkClassName", + "value": "OpenRouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.maintainOpenAPIOrder", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.usageSnippets.optionalPropertyRendering", + "value": "never", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.usageSnippets.sdkInitStyle", + "value": "constructor", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.useClassNamesForArrayFields", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.nameResolutionDec2023", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.nameResolutionFeb2025", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.parameterOrderingFeb2024", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.requestResponseComponentNamesFeb2024", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.securityFeb2025", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.fixes.sharedErrorComponentsApr2025", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.auth.oAuth2ClientCredentialsEnabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.auth.oAuth2PasswordEnabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.auth.hoistGlobalSecurity", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.inferSSEOverload", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.sdkHooksConfigAccess", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.schemas.allOfMergeStrategy", + "value": "shallowMerge", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.requestBodyFieldName", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "generation.tests.generateTests", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.tests.generateNewTests", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.tests.skipResponseBodyAssertions", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "generation.preApplyUnionDiscriminators", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.version", + "value": "0.7.11", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.allowedRedefinedBuiltins", + "value": [ + "id", + "object", + "input", + "models", + "hash" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "python.asyncMode", + "value": "both", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.authors", + "value": [ + "OpenRouter" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "python.baseErrorName", + "value": "OpenRouterError", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.clientServerStatusCodesAsErrors", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.defaultErrorName", + "value": "OpenRouterDefaultError", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.description", + "value": "Official Python Client SDK for OpenRouter.", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.enableCustomCodeRegions", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.enumFormat", + "value": "union", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.envVarPrefix", + "value": "OPENROUTER", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.fixFlags.asyncPaginationSep2025", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.fixFlags.responseRequiredSep2024", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.flattenGlobalSecurity", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.flattenRequests", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.flatteningOrder", + "value": "parameters-first", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.option", + "value": "openapi", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.paths.callbacks", + "value": "callbacks", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.paths.errors", + "value": "errors", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.paths.operations", + "value": "operations", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.paths.shared", + "value": "components", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.imports.paths.webhooks", + "value": "webhooks", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.inferSSEOverload", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.inferUnionDiscriminators", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.inputModelSuffix", + "value": "input", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.legacyPyright", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.license", + "value": "Apache-2.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.maxMethodParams", + "value": 999, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "python.methodArguments", + "value": "infer-optional-args", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.moduleName", + "value": "", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.multipartArrayFormat", + "value": "legacy", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.outputModelSuffix", + "value": "output", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.packageManager", + "value": "uv", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.packageName", + "value": "openrouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.pytestFilterWarnings", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "python.pytestTimeout", + "value": 0, + "type": "integer", + "env_var": null, + "description": "" + }, + { + "key": "python.responseFormat", + "value": "flat", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "python.sseFlatResponse", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.templateVersion", + "value": "v2", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/workflow.yaml", + "relative_path": ".speakeasy/workflow.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 12, + "settings": [ + { + "key": "workflowVersion", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "speakeasyVersion", + "value": "1.666.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "sources.OpenRouter API.inputs", + "value": [ + { + "location": ".speakeasy/in.openapi.yaml" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "sources.OpenRouter API.overlays", + "value": [ + { + "location": ".speakeasy/overlays/open-enums.overlay.yaml" + }, + { + "location": ".speakeasy/overlays/remove-rss-responses.overlay.yaml" + }, + { + "location": ".speakeasy/overlays/add-headers.overlay.yaml" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "sources.OpenRouter API.output", + "value": ".speakeasy/out.openapi.yaml", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "sources.OpenRouter API.registry.location", + "value": "registry.speakeasyapi.dev/openrouter/sdk/open-router-chat-completions-api", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.target", + "value": "python", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.source", + "value": "OpenRouter API", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.publish.pypi.token", + "value": "$pypi_token", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.codeSamples.registry.location", + "value": "registry.speakeasyapi.dev/openrouter/sdk/open-router-python-code-samples", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.codeSamples.labelOverride.fixedValue", + "value": "Python (SDK)", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "targets.open-router.codeSamples.blocking", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/lint.yaml", + "relative_path": ".speakeasy/lint.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 4, + "settings": [ + { + "key": "lintVersion", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "defaultRuleset", + "value": "openrouter", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "rulesets.openrouter.rulesets", + "value": [ + "speakeasy-recommended", + "speakeasy-generation" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "rulesets.openrouter.rules.oas3-missing-example.severity", + "value": "off", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.devcontainer/devcontainer.json", + "relative_path": ".devcontainer/devcontainer.json", + "type": "json", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 0, + "settings": [], + "parse_errors": [ + "JSON parse error: Expecting value: line 1 column 1 (char 0)" + ] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.claude/settings.local.json", + "relative_path": ".claude/settings.local.json", + "type": "json", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 3, + "settings": [ + { + "key": "permissions.allow", + "value": [ + "Bash(python3:*)", + "Bash(git push:*)", + "Bash(gh pr create:*)" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "permissions.deny", + "value": [], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "permissions.ask", + "value": [], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.vscode/settings.json", + "relative_path": ".vscode/settings.json", + "type": "json", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 4, + "settings": [ + { + "key": "python.testing.pytestArgs", + "value": [ + "tests", + "-vv" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "python.testing.unittestEnabled", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "python.testing.pytestEnabled", + "value": true, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "pylint.args", + "value": [ + "--rcfile=pylintrc" + ], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.github/workflows/notify-monorepo.yaml", + "relative_path": ".github/workflows/notify-monorepo.yaml", + "type": "yaml", + "purpose": "ci_cd_configuration", + "patterns": [], + "settings_count": 1, + "settings": [ + { + "key": "name", + "value": "Notify Monorepo of Changes", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [ + "Error parsing .github/workflows/notify-monorepo.yaml: sequence item 0: expected str instance, bool found" + ] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.github/workflows/sdk_publish.yaml", + "relative_path": ".github/workflows/sdk_publish.yaml", + "type": "yaml", + "purpose": "ci_cd_configuration", + "patterns": [], + "settings_count": 13, + "settings": [ + { + "key": "name", + "value": "Publish", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.checks", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.contents", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.pull-requests", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.statuses", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.id-token", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.push.branches", + "value": [ + "main" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "on.push.paths", + "value": [ + ".speakeasy/gen.lock" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "jobs.publish.uses", + "value": "speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.publish.with.target", + "value": "open-router", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.publish.secrets.github_access_token", + "value": "${{ secrets.GITHUB_TOKEN }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.publish.secrets.pypi_token", + "value": "${{ secrets.PYPI_TOKEN }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.publish.secrets.speakeasy_api_key", + "value": "${{ secrets.SPEAKEASY_API_KEY }}", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.github/workflows/sdk_generation.yaml", + "relative_path": ".github/workflows/sdk_generation.yaml", + "type": "yaml", + "purpose": "ci_cd_configuration", + "patterns": [], + "settings_count": 20, + "settings": [ + { + "key": "name", + "value": "Generate", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.checks", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.contents", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.pull-requests", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.statuses", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "permissions.id-token", + "value": "write", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.workflow_dispatch.inputs.force.description", + "value": "Force generation of SDKs", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.workflow_dispatch.inputs.force.type", + "value": "boolean", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.workflow_dispatch.inputs.force.default", + "value": false, + "type": "boolean", + "env_var": null, + "description": "" + }, + { + "key": "on.workflow_dispatch.inputs.set_version.description", + "value": "optionally set a specific SDK version", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.workflow_dispatch.inputs.set_version.type", + "value": "string", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "on.schedule", + "value": [ + { + "cron": "0 0 * * *" + } + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "on.pull_request.types", + "value": [ + "labeled", + "unlabeled" + ], + "type": "array", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.uses", + "value": "speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.with.force", + "value": "${{ github.event.inputs.force }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.with.mode", + "value": "pr", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.with.set_version", + "value": "${{ github.event.inputs.set_version }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.secrets.github_access_token", + "value": "${{ secrets.GITHUB_TOKEN }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.secrets.pypi_token", + "value": "${{ secrets.PYPI_TOKEN }}", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "jobs.generate.secrets.speakeasy_api_key", + "value": "${{ secrets.SPEAKEASY_API_KEY }}", + "type": "string", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/overlays/add-headers.overlay.yaml", + "relative_path": ".speakeasy/overlays/add-headers.overlay.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 5, + "settings": [ + { + "key": "overlay", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-speakeasy-jsonpath", + "value": "rfc9535", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.title", + "value": "Add HTTP-Referer and X-Title as global parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.version", + "value": "0.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "actions", + "value": [ + { + "target": "$", + "description": "Add x-speakeasy-globals for HTTP-Referer and X-Title headers", + "update": { + "x-speakeasy-globals": { + "parameters": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ] + } + } + }, + { + "target": "$.components", + "description": "Add parameters for app identification headers", + "update": { + "parameters": { + "AppIdentifier": { + "name": "HTTP-Referer", + "in": "header", + "schema": { + "type": "string" + }, + "description": "The app identifier should be your app's URL and is used as the primary identifier for rankings.\nThis is used to track API usage per application.\n" + }, + "AppDisplayName": { + "name": "X-Title", + "in": "header", + "schema": { + "type": "string" + }, + "description": "The app display name allows you to customize how your app appears in OpenRouter's dashboard.\n" + } + } + } + }, + { + "target": "$.paths[*]", + "description": "Reference app identification headers on all paths so Speakeasy injects them via globals", + "update": { + "parameters": [ + { + "$ref": "#/components/parameters/AppIdentifier" + }, + { + "$ref": "#/components/parameters/AppDisplayName" + } + ] + } + } + ], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/overlays/open-enums.overlay.yaml", + "relative_path": ".speakeasy/overlays/open-enums.overlay.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 5, + "settings": [ + { + "key": "overlay", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-speakeasy-jsonpath", + "value": "rfc9535", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.title", + "value": "Add open enums", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.version", + "value": "0.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "actions", + "value": [ + { + "target": "$..[?length(@.enum) > 1]", + "description": "Automatically open all enums that have length > 1", + "update": { + "x-speakeasy-unknown-values": "allow" + } + } + ], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/.speakeasy/overlays/remove-rss-responses.overlay.yaml", + "relative_path": ".speakeasy/overlays/remove-rss-responses.overlay.yaml", + "type": "yaml", + "purpose": "general_configuration", + "patterns": [], + "settings_count": 5, + "settings": [ + { + "key": "overlay", + "value": "1.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "x-speakeasy-jsonpath", + "value": "rfc9535", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.title", + "value": "Remove RSS+XML response schemas and related parameters", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "info.version", + "value": "0.0.0", + "type": "string", + "env_var": null, + "description": "" + }, + { + "key": "actions", + "value": [ + { + "target": "$..responses.*.content[\"application/rss+xml\"]", + "description": "Remove application/rss+xml response schemas", + "remove": true + }, + { + "target": "$..parameters[?@.name == \"use_rss\"]", + "description": "Remove use_rss parameter", + "remove": true + }, + { + "target": "$..parameters[?@.name == \"use_rss_chat_links\"]", + "description": "Remove use_rss_chat_links parameter", + "remove": true + } + ], + "type": "array", + "env_var": null, + "description": "" + } + ], + "parse_errors": [] + } + ], + "errors": [] +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.md b/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.md new file mode 100644 index 000000000..b883dd7da --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/config_patterns/config_patterns.md @@ -0,0 +1,100 @@ +# Configuration Extraction Report + +**Total Files:** 15 +**Total Settings:** 10570 +**Detected Patterns:** None + +## Configuration Files + +### pyproject.toml + +- **Type:** toml +- **Purpose:** package_configuration +- **Settings:** 22 + +### .speakeasy/in.openapi.yaml + +- **Type:** yaml +- **Purpose:** api_configuration +- **Settings:** 5156 + +### .speakeasy/out.openapi.yaml + +- **Type:** yaml +- **Purpose:** api_configuration +- **Settings:** 5256 + +### .speakeasy/gen.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 64 + +### .speakeasy/workflow.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 12 + +### .speakeasy/lint.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 4 + +### .devcontainer/devcontainer.json + +- **Type:** json +- **Purpose:** general_configuration +- **Settings:** 0 +- **Errors:** 1 + +### .claude/settings.local.json + +- **Type:** json +- **Purpose:** general_configuration +- **Settings:** 3 + +### .vscode/settings.json + +- **Type:** json +- **Purpose:** general_configuration +- **Settings:** 4 + +### .github/workflows/notify-monorepo.yaml + +- **Type:** yaml +- **Purpose:** ci_cd_configuration +- **Settings:** 1 +- **Errors:** 1 + +### .github/workflows/sdk_publish.yaml + +- **Type:** yaml +- **Purpose:** ci_cd_configuration +- **Settings:** 13 + +### .github/workflows/sdk_generation.yaml + +- **Type:** yaml +- **Purpose:** ci_cd_configuration +- **Settings:** 20 + +### .speakeasy/overlays/add-headers.overlay.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 5 + +### .speakeasy/overlays/open-enums.overlay.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 5 + +### .speakeasy/overlays/remove-rss-responses.overlay.yaml + +- **Type:** yaml +- **Purpose:** general_configuration +- **Settings:** 5 + diff --git a/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.dot b/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.dot new file mode 100644 index 000000000..e69de29bb diff --git a/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.json b/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.json new file mode 100644 index 000000000..9d6532fe4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.json @@ -0,0 +1,1081 @@ +{ + "nodes": [ + { + "file": "examples/oauth_pkce_example.py", + "language": "Python" + }, + { + "file": "scripts/check_types.py", + "language": "Python" + }, + { + "file": "scripts/prepare_readme.py", + "language": "Python" + }, + { + "file": "src/openrouter/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/_hooks/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/_hooks/registration.py", + "language": "Python" + }, + { + "file": "src/openrouter/_hooks/sdkhooks.py", + "language": "Python" + }, + { + "file": "src/openrouter/_hooks/types.py", + "language": "Python" + }, + { + "file": "src/openrouter/_version.py", + "language": "Python" + }, + { + "file": "src/openrouter/analytics.py", + "language": "Python" + }, + { + "file": "src/openrouter/api_keys.py", + "language": "Python" + }, + { + "file": "src/openrouter/basesdk.py", + "language": "Python" + }, + { + "file": "src/openrouter/beta.py", + "language": "Python" + }, + { + "file": "src/openrouter/chat.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/activityitem.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/assistantmessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/assistantmessageimages.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/badgatewayresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/badrequestresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatcompletionfinishreason.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatgenerationparams.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatgenerationtokenusage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitem.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemaudio.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemcachecontrol.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemimage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemtext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemvideo.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagecontentitemvideolegacy.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagetokenlogprob.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagetokenlogprobs.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatmessagetoolcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatresponse.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatresponsechoice.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatstreamingchoice.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatstreamingmessagechunk.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatstreamingmessagetoolcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatstreamingresponsechunk.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/chatstreamoptions.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/createchargerequest.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/datacollection.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/debugoptions.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/defaultparameters.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/developermessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/edgenetworktimeoutresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/endpointstatus.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/filecitation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/filepath.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/forbiddenresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/imagegenerationstatus.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/inputmodality.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/instructtype.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/internalserverresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/jsonschemaconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/listendpointsresponse.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/message.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/model.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/modelarchitecture.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/modelgroup.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/modelscountresponse.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/modelslistresponse.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/namedtoolchoice.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/notfoundresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesannotation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesincludable.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesincompletedetails.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesinput_union.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesprompt.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesreasoningconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesreasoningeffort.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesrefusalcontent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesresponsestatus.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsesservicetier.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsestoolchoice_union.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openairesponsestruncation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseseasyinputmessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseserrorevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesfunctioncalloutput.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesfunctiontoolcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesimagegencallcompleted.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesimagegencallgenerating.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesimagegencallinprogress.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesimagegencallpartialimage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesinput.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesinputmessageitem.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseslogprobs.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesnonstreamingresponse.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoning.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningdeltaevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningdoneevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarypartaddedevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarytextdeltaevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesreasoningsummarytextdoneevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesrequest.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesresponsetext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesstreamevent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsestoplogprobs.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponsesusage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseswebsearch20250826tool.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseswebsearchpreview20250311tool.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseswebsearchpreviewtool.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/openresponseswebsearchtool.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/outputitemimagegenerationcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/outputmessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/outputmodality.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/parameter.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/payloadtoolargeresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/paymentrequiredresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/pdfparserengine.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/pdfparseroptions.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/percentilelatencycutoffs.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/percentilestats.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/percentilethroughputcutoffs.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/perrequestlimits.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/preferredmaxlatency.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/preferredminthroughput.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/providername.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/provideroverloadedresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/providerpreferences.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/providersort.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/providersortconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/publicendpoint.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/publicpricing.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/quantization.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningdetailencrypted.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningdetailsummary.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningdetailtext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningdetailunion.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningsummarytext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningsummaryverbosity.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/reasoningtextcontent.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/requesttimeoutresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformatjsonobject.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformatjsonschema.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformattext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformattextconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformattextgrammar.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseformattextpython.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseinputaudio.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseinputfile.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseinputimage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseinputtext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseinputvideo.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseoutputtext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseserrorfield.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesformattext.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesformattextjsonschemaconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesimagegenerationcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputitem.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputitemfilesearchcall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputitemfunctioncall.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputitemreasoning.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputmessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsesoutputmodality.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsessearchcontextsize.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseswebsearchcalloutput.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responseswebsearchuserlocation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/responsetextconfig.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/security.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/serviceunavailableresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/systemmessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/toolcallstatus.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/toolchoiceoption.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/tooldefinitionjson.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/toolresponsemessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/toomanyrequestsresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/topproviderinfo.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/unauthorizedresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/unprocessableentityresponseerrordata.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/urlcitation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/usermessage.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/videoinput.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/websearchengine.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/websearchpreviewtooluserlocation.py", + "language": "Python" + }, + { + "file": "src/openrouter/components/websearchstatus.py", + "language": "Python" + }, + { + "file": "src/openrouter/credits.py", + "language": "Python" + }, + { + "file": "src/openrouter/embeddings.py", + "language": "Python" + }, + { + "file": "src/openrouter/endpoints.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/badgatewayresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/badrequestresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/edgenetworktimeoutresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/forbiddenresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/internalserverresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/no_response_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/notfoundresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/openrouterdefaulterror.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/openroutererror.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/payloadtoolargeresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/paymentrequiredresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/provideroverloadedresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/requesttimeoutresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/responsevalidationerror.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/serviceunavailableresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/toomanyrequestsresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/unauthorizedresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/errors/unprocessableentityresponse_error.py", + "language": "Python" + }, + { + "file": "src/openrouter/generations.py", + "language": "Python" + }, + { + "file": "src/openrouter/guardrails.py", + "language": "Python" + }, + { + "file": "src/openrouter/httpclient.py", + "language": "Python" + }, + { + "file": "src/openrouter/models/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/models/internal/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/models/internal/globals.py", + "language": "Python" + }, + { + "file": "src/openrouter/models_.py", + "language": "Python" + }, + { + "file": "src/openrouter/oauth.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/bulkassignkeystoguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/bulkassignmemberstoguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createauthkeyscode.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createcoinbasecharge.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createembeddings.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createkeys.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/createresponses.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/deleteguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/deletekeys.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/exchangeauthcodeforapikey.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getcredits.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getcurrentkey.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getgeneration.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getkey.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getmodels.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/getuseractivity.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/list.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listembeddingsmodels.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listendpoints.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listendpointszdr.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listguardrailkeyassignments.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listguardrailmemberassignments.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listguardrails.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listkeyassignments.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listmemberassignments.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listmodelscount.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listmodelsuser.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/listproviders.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/sendchatcompletionrequest.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/updateguardrail.py", + "language": "Python" + }, + { + "file": "src/openrouter/operations/updatekeys.py", + "language": "Python" + }, + { + "file": "src/openrouter/providers.py", + "language": "Python" + }, + { + "file": "src/openrouter/responses.py", + "language": "Python" + }, + { + "file": "src/openrouter/sdk.py", + "language": "Python" + }, + { + "file": "src/openrouter/sdkconfiguration.py", + "language": "Python" + }, + { + "file": "src/openrouter/types/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/types/basemodel.py", + "language": "Python" + }, + { + "file": "src/openrouter/types/models.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/__init__.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/annotations.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/datetimes.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/enums.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/eventstreaming.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/forms.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/headers.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/logger.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/metadata.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/oauth_create_authorization_url.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/oauth_create_sha256_code_challenge.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/queryparams.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/requestbodies.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/retries.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/security.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/serializers.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/unmarshal_json_response.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/url.py", + "language": "Python" + }, + { + "file": "src/openrouter/utils/values.py", + "language": "Python" + } + ], + "edges": [] +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.mmd b/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.mmd new file mode 100644 index 000000000..42195de1d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/dependencies/dependency_graph.mmd @@ -0,0 +1,270 @@ +graph TD + N0[oauth_pkce_example.py] + N1[check_types.py] + N2[prepare_readme.py] + N3[__init__.py] + N4[__init__.py] + N5[registration.py] + N6[sdkhooks.py] + N7[types.py] + N8[_version.py] + N9[analytics.py] + N10[api_keys.py] + N11[basesdk.py] + N12[beta.py] + N13[chat.py] + N14[__init__.py] + N15[activityitem.py] + N16[assistantmessage.py] + N17[assistantmessageimages.py] + N18[badgatewayresponseerrordata.py] + N19[badrequestresponseerrordata.py] + N20[chatcompletionfinishreason.py] + N21[chatgenerationparams.py] + N22[chatgenerationtokenusage.py] + N23[chatmessagecontentitem.py] + N24[chatmessagecontentitemaudio.py] + N25[chatmessagecontentitemcachecontrol.py] + N26[chatmessagecontentitemimage.py] + N27[chatmessagecontentitemtext.py] + N28[chatmessagecontentitemvideo.py] + N29[chatmessagecontentitemvideolegacy.py] + N30[chatmessagetokenlogprob.py] + N31[chatmessagetokenlogprobs.py] + N32[chatmessagetoolcall.py] + N33[chatresponse.py] + N34[chatresponsechoice.py] + N35[chatstreamingchoice.py] + N36[chatstreamingmessagechunk.py] + N37[chatstreamingmessagetoolcall.py] + N38[chatstreamingresponsechunk.py] + N39[chatstreamoptions.py] + N40[createchargerequest.py] + N41[datacollection.py] + N42[debugoptions.py] + N43[defaultparameters.py] + N44[developermessage.py] + N45[edgenetworktimeoutresponseerrordata.py] + N46[endpointstatus.py] + N47[filecitation.py] + N48[filepath.py] + N49[forbiddenresponseerrordata.py] + N50[imagegenerationstatus.py] + N51[inputmodality.py] + N52[instructtype.py] + N53[internalserverresponseerrordata.py] + N54[jsonschemaconfig.py] + N55[listendpointsresponse.py] + N56[message.py] + N57[model.py] + N58[modelarchitecture.py] + N59[modelgroup.py] + N60[modelscountresponse.py] + N61[modelslistresponse.py] + N62[namedtoolchoice.py] + N63[notfoundresponseerrordata.py] + N64[openairesponsesannotation.py] + N65[openairesponsesincludable.py] + N66[openairesponsesincompletedetails.py] + N67[openairesponsesinput_union.py] + N68[openairesponsesprompt.py] + N69[openairesponsesreasoningconfig.py] + N70[openairesponsesreasoningeffort.py] + N71[openairesponsesrefusalcontent.py] + N72[openairesponsesresponsestatus.py] + N73[openairesponsesservicetier.py] + N74[openairesponsestoolchoice_union.py] + N75[openairesponsestruncation.py] + N76[openresponseseasyinputmessage.py] + N77[openresponseserrorevent.py] + N78[openresponsesfunctioncalloutput.py] + N79[openresponsesfunctiontoolcall.py] + N80[openresponsesimagegencallcompleted.py] + N81[openresponsesimagegencallgenerating.py] + N82[openresponsesimagegencallinprogress.py] + N83[openresponsesimagegencallpartialimage.py] + N84[openresponsesinput.py] + N85[openresponsesinputmessageitem.py] + N86[openresponseslogprobs.py] + N87[openresponsesnonstreamingresponse.py] + N88[openresponsesreasoning.py] + N89[openresponsesreasoningconfig.py] + N90[openresponsesreasoningdeltaevent.py] + N91[openresponsesreasoningdoneevent.py] + N92[openresponsesreasoningsummarypartaddedevent.py] + N93[openresponsesreasoningsummarytextdeltaevent.py] + N94[openresponsesreasoningsummarytextdoneevent.py] + N95[openresponsesrequest.py] + N96[openresponsesresponsetext.py] + N97[openresponsesstreamevent.py] + N98[openresponsestoplogprobs.py] + N99[openresponsesusage.py] + N100[openresponseswebsearch20250826tool.py] + N101[openresponseswebsearchpreview20250311tool.py] + N102[openresponseswebsearchpreviewtool.py] + N103[openresponseswebsearchtool.py] + N104[outputitemimagegenerationcall.py] + N105[outputmessage.py] + N106[outputmodality.py] + N107[parameter.py] + N108[payloadtoolargeresponseerrordata.py] + N109[paymentrequiredresponseerrordata.py] + N110[pdfparserengine.py] + N111[pdfparseroptions.py] + N112[percentilelatencycutoffs.py] + N113[percentilestats.py] + N114[percentilethroughputcutoffs.py] + N115[perrequestlimits.py] + N116[preferredmaxlatency.py] + N117[preferredminthroughput.py] + N118[providername.py] + N119[provideroverloadedresponseerrordata.py] + N120[providerpreferences.py] + N121[providersort.py] + N122[providersortconfig.py] + N123[publicendpoint.py] + N124[publicpricing.py] + N125[quantization.py] + N126[reasoningdetailencrypted.py] + N127[reasoningdetailsummary.py] + N128[reasoningdetailtext.py] + N129[reasoningdetailunion.py] + N130[reasoningsummarytext.py] + N131[reasoningsummaryverbosity.py] + N132[reasoningtextcontent.py] + N133[requesttimeoutresponseerrordata.py] + N134[responseformatjsonobject.py] + N135[responseformatjsonschema.py] + N136[responseformattext.py] + N137[responseformattextconfig.py] + N138[responseformattextgrammar.py] + N139[responseformattextpython.py] + N140[responseinputaudio.py] + N141[responseinputfile.py] + N142[responseinputimage.py] + N143[responseinputtext.py] + N144[responseinputvideo.py] + N145[responseoutputtext.py] + N146[responseserrorfield.py] + N147[responsesformattext.py] + N148[responsesformattextjsonschemaconfig.py] + N149[responsesimagegenerationcall.py] + N150[responsesoutputitem.py] + N151[responsesoutputitemfilesearchcall.py] + N152[responsesoutputitemfunctioncall.py] + N153[responsesoutputitemreasoning.py] + N154[responsesoutputmessage.py] + N155[responsesoutputmodality.py] + N156[responsessearchcontextsize.py] + N157[responseswebsearchcalloutput.py] + N158[responseswebsearchuserlocation.py] + N159[responsetextconfig.py] + N160[security.py] + N161[serviceunavailableresponseerrordata.py] + N162[systemmessage.py] + N163[toolcallstatus.py] + N164[toolchoiceoption.py] + N165[tooldefinitionjson.py] + N166[toolresponsemessage.py] + N167[toomanyrequestsresponseerrordata.py] + N168[topproviderinfo.py] + N169[unauthorizedresponseerrordata.py] + N170[unprocessableentityresponseerrordata.py] + N171[urlcitation.py] + N172[usermessage.py] + N173[videoinput.py] + N174[websearchengine.py] + N175[websearchpreviewtooluserlocation.py] + N176[websearchstatus.py] + N177[credits.py] + N178[embeddings.py] + N179[endpoints.py] + N180[__init__.py] + N181[badgatewayresponse_error.py] + N182[badrequestresponse_error.py] + N183[edgenetworktimeoutresponse_error.py] + N184[forbiddenresponse_error.py] + N185[internalserverresponse_error.py] + N186[no_response_error.py] + N187[notfoundresponse_error.py] + N188[openrouterdefaulterror.py] + N189[openroutererror.py] + N190[payloadtoolargeresponse_error.py] + N191[paymentrequiredresponse_error.py] + N192[provideroverloadedresponse_error.py] + N193[requesttimeoutresponse_error.py] + N194[responsevalidationerror.py] + N195[serviceunavailableresponse_error.py] + N196[toomanyrequestsresponse_error.py] + N197[unauthorizedresponse_error.py] + N198[unprocessableentityresponse_error.py] + N199[generations.py] + N200[guardrails.py] + N201[httpclient.py] + N202[__init__.py] + N203[__init__.py] + N204[globals.py] + N205[models_.py] + N206[oauth.py] + N207[__init__.py] + N208[bulkassignkeystoguardrail.py] + N209[bulkassignmemberstoguardrail.py] + N210[bulkunassignkeysfromguardrail.py] + N211[bulkunassignmembersfromguardrail.py] + N212[createauthkeyscode.py] + N213[createcoinbasecharge.py] + N214[createembeddings.py] + N215[createguardrail.py] + N216[createkeys.py] + N217[createresponses.py] + N218[deleteguardrail.py] + N219[deletekeys.py] + N220[exchangeauthcodeforapikey.py] + N221[getcredits.py] + N222[getcurrentkey.py] + N223[getgeneration.py] + N224[getguardrail.py] + N225[getkey.py] + N226[getmodels.py] + N227[getuseractivity.py] + N228[list.py] + N229[listembeddingsmodels.py] + N230[listendpoints.py] + N231[listendpointszdr.py] + N232[listguardrailkeyassignments.py] + N233[listguardrailmemberassignments.py] + N234[listguardrails.py] + N235[listkeyassignments.py] + N236[listmemberassignments.py] + N237[listmodelscount.py] + N238[listmodelsuser.py] + N239[listproviders.py] + N240[sendchatcompletionrequest.py] + N241[updateguardrail.py] + N242[updatekeys.py] + N243[providers.py] + N244[responses.py] + N245[sdk.py] + N246[sdkconfiguration.py] + N247[__init__.py] + N248[basemodel.py] + N249[models.py] + N250[__init__.py] + N251[annotations.py] + N252[datetimes.py] + N253[enums.py] + N254[eventstreaming.py] + N255[forms.py] + N256[headers.py] + N257[logger.py] + N258[metadata.py] + N259[oauth_create_authorization_url.py] + N260[oauth_create_sha256_code_challenge.py] + N261[queryparams.py] + N262[requestbodies.py] + N263[retries.py] + N264[security.py] + N265[serializers.py] + N266[unmarshal_json_response.py] + N267[url.py] + N268[values.py] \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/dependencies/statistics.json b/.github/skills/openrouter-python-sdk/references/dependencies/statistics.json new file mode 100644 index 000000000..af3cf4963 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/dependencies/statistics.json @@ -0,0 +1,9 @@ +{ + "total_files": 269, + "total_dependencies": 0, + "circular_dependencies": 0, + "strongly_connected_components": 269, + "avg_dependencies_per_file": 0.0, + "files_with_no_dependencies": 269, + "files_not_imported": 269 +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/api/README.md b/.github/skills/openrouter-python-sdk/references/documentation/api/README.md new file mode 100644 index 000000000..eaa58d520 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/api/README.md @@ -0,0 +1,310 @@ +# APIKeys +(*api_keys*) + +## Overview + +API key management endpoints + +### Available Operations + +* [list](#list) - List API keys +* [create](#create) - Create a new API key +* [update](#update) - Update an API key +* [delete](#delete) - Delete an API key +* [get](#get) - Get a single API key +* [get_current_key_metadata](#get_current_key_metadata) - Get current API key + +## list + +List all API keys for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.list(include_disabled="false", offset="0") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `include_disabled` | *Optional[str]* | :heavy_minus_sign: | Whether to include disabled API keys in the response | false | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of API keys to skip for pagination | 0 | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.ListResponse](../../operations/listresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | + +## create + +Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.create(name="My New API Key") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | Name for the new API key | My New API Key | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | Optional spending limit for the API key in USD | 50 | +| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../../operations/createkeyslimitreset.md) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly | +| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected | 2027-12-31T23:59:59Z | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.CreateKeysResponse](../../operations/createkeysresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.BadRequestResponseError | 400 | application/json | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | + +## update + +Update an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.update(hash="f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to update | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the API key | Updated API Key Name | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | Whether to disable the API key | false | +| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit for the API key in USD | 75 | +| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../../operations/updatekeyslimitreset.md) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily | +| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.UpdateKeysResponse](../../operations/updatekeysresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.BadRequestResponseError | 400 | application/json | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.NotFoundResponseError | 404 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | + +## delete + +Delete an existing API key. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.delete(hash="f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to delete | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.DeleteKeysResponse](../../operations/deletekeysresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.NotFoundResponseError | 404 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | + +## get + +Get a single API key by hash. [Management key](/docs/guides/overview/auth/management-api-keys) required. + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.get(hash="f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to retrieve | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.GetKeyResponse](../../operations/getkeyresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.NotFoundResponseError | 404 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | + +## get_current_key_metadata + +Get information on the API key associated with the current authentication session + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.api_keys.get_current_key_metadata() + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[operations.GetCurrentKeyResponse](../../operations/getcurrentkeyresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/contributing/CONTRIBUTING.md b/.github/skills/openrouter-python-sdk/references/documentation/contributing/CONTRIBUTING.md new file mode 100644 index 000000000..d585717fc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/contributing/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# Contributing to This Repository + +Thank you for your interest in contributing to this repository. Please note that this repository contains generated code. As such, we do not accept direct changes or pull requests. Instead, we encourage you to follow the guidelines below to report issues and suggest improvements. + +## How to Report Issues + +If you encounter any bugs or have suggestions for improvements, please open an issue on GitHub. When reporting an issue, please provide as much detail as possible to help us reproduce the problem. This includes: + +- A clear and descriptive title +- Steps to reproduce the issue +- Expected and actual behavior +- Any relevant logs, screenshots, or error messages +- Information about your environment (e.g., operating system, software versions) + - For example can be collected using the `npx envinfo` command from your terminal if you have Node.js installed + +## Issue Triage and Upstream Fixes + +We will review and triage issues as quickly as possible. Our goal is to address bugs and incorporate improvements in the upstream source code. Fixes will be included in the next generation of the generated code. + +## Contact + +If you have any questions or need further assistance, please feel free to reach out by opening an issue. + +Thank you for your understanding and cooperation! + +The Maintainers diff --git a/.github/skills/openrouter-python-sdk/references/documentation/documentation_index.json b/.github/skills/openrouter-python-sdk/references/documentation/documentation_index.json new file mode 100644 index 000000000..fe2b968e8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/documentation_index.json @@ -0,0 +1,31882 @@ +{ + "total_files": 684, + "categories": { + "other": [ + ".devcontainer/README.md", + "docs/components/activityitem.md", + "docs/components/architecture.md", + "docs/components/assistantmessage.md", + "docs/components/assistantmessagecontent.md", + "docs/components/assistantmessageimages.md", + "docs/components/assistantmessageimagesimageurl.md", + "docs/components/assistantmessagerole.md", + "docs/components/badgatewayresponseerrordata.md", + "docs/components/badrequestresponseerrordata.md", + "docs/components/by.md", + "docs/components/chainid.md", + "docs/components/chatcompletionfinishreason.md", + "docs/components/chatgenerationparams.md", + "docs/components/chatgenerationparamsby.md", + "docs/components/chatgenerationparamsengine.md", + "docs/components/chatgenerationparamsidautorouter.md", + "docs/components/chatgenerationparamsidfileparser.md", + "docs/components/chatgenerationparamsidmoderation.md", + "docs/components/chatgenerationparamsidresponsehealing.md", + "docs/components/chatgenerationparamsidweb.md", + "docs/components/chatgenerationparamsignore.md", + "docs/components/chatgenerationparamsimageconfig.md", + "docs/components/chatgenerationparamsmaxprice.md", + "docs/components/chatgenerationparamsonly.md", + "docs/components/chatgenerationparamsorder.md", + "docs/components/chatgenerationparamspartition.md", + "docs/components/chatgenerationparamspdf.md", + "docs/components/chatgenerationparamspdfengine.md", + "docs/components/chatgenerationparamspluginautorouter.md", + "docs/components/chatgenerationparamspluginfileparser.md", + "docs/components/chatgenerationparamspluginmoderation.md", + "docs/components/chatgenerationparamspluginresponsehealing.md", + "docs/components/chatgenerationparamspluginunion.md", + "docs/components/chatgenerationparamspluginweb.md", + "docs/components/chatgenerationparamsprovider.md", + "docs/components/chatgenerationparamsprovidersort.md", + "docs/components/chatgenerationparamsprovidersortconfig.md", + "docs/components/chatgenerationparamsprovidersortconfigenum.md", + "docs/components/chatgenerationparamsprovidersortconfigunion.md", + "docs/components/chatgenerationparamsroute.md", + "docs/components/chatgenerationparamssortenum.md", + "docs/components/chatgenerationparamssortunion.md", + "docs/components/chatgenerationparamstrace.md", + "docs/components/chatgenerationtokenusage.md", + "docs/components/chatmessagecontentitem.md", + "docs/components/chatmessagecontentitem1.md", + "docs/components/chatmessagecontentitemaudio.md", + "docs/components/chatmessagecontentitemaudioinputaudio.md", + "docs/components/chatmessagecontentitemaudiotype.md", + "docs/components/chatmessagecontentitemcachecontrol.md", + "docs/components/chatmessagecontentitemcachecontroltype.md", + "docs/components/chatmessagecontentitemimage.md", + "docs/components/chatmessagecontentitemimagedetail.md", + "docs/components/chatmessagecontentitemimageimageurl.md", + "docs/components/chatmessagecontentitemimagetype.md", + "docs/components/chatmessagecontentitemtext.md", + "docs/components/chatmessagecontentitemtexttype.md", + "docs/components/chatmessagecontentitemvideo.md", + "docs/components/chatmessagecontentitemvideolegacy.md", + "docs/components/chatmessagecontentitemvideolegacytype.md", + "docs/components/chatmessagecontentitemvideotype.md", + "docs/components/chatmessagetokenlogprob.md", + "docs/components/chatmessagetokenlogprobs.md", + "docs/components/chatmessagetokenlogprobtoplogprob.md", + "docs/components/chatmessagetoolcall.md", + "docs/components/chatmessagetoolcallfunction.md", + "docs/components/chatmessagetoolcalltype.md", + "docs/components/chatresponse.md", + "docs/components/chatresponsechoice.md", + "docs/components/chatresponseobject.md", + "docs/components/chatstreamingchoice.md", + "docs/components/chatstreamingmessagechunk.md", + "docs/components/chatstreamingmessagechunkrole.md", + "docs/components/chatstreamingmessagetoolcall.md", + "docs/components/chatstreamingmessagetoolcallfunction.md", + "docs/components/chatstreamingmessagetoolcalltype.md", + "docs/components/chatstreamingresponsechunk.md", + "docs/components/chatstreamingresponsechunkobject.md", + "docs/components/chatstreamoptions.md", + "docs/components/code.md", + "docs/components/completiontokensdetails.md", + "docs/components/costdetails.md", + "docs/components/createchargerequest.md", + "docs/components/data.md", + "docs/components/datacollection.md", + "docs/components/debugoptions.md", + "docs/components/defaultparameters.md", + "docs/components/developermessage.md", + "docs/components/developermessagecontent.md", + "docs/components/developermessagerole.md", + "docs/components/edgenetworktimeoutresponseerrordata.md", + "docs/components/effort.md", + "docs/components/endpointstatus.md", + "docs/components/error.md", + "docs/components/filecitation.md", + "docs/components/filecitationtype.md", + "docs/components/filepath.md", + "docs/components/filepathtype.md", + "docs/components/forbiddenresponseerrordata.md", + "docs/components/ignore.md", + "docs/components/imagegenerationstatus.md", + "docs/components/inputmodality.md", + "docs/components/inputtokensdetails.md", + "docs/components/instructtype.md", + "docs/components/internalserverresponseerrordata.md", + "docs/components/jsonschemaconfig.md", + "docs/components/listendpointsresponse.md", + "docs/components/logprob.md", + "docs/components/message.md", + "docs/components/modality.md", + "docs/components/model.md", + "docs/components/modelarchitecture.md", + "docs/components/modelarchitectureinstructtype.md", + "docs/components/modelgroup.md", + "docs/components/modelscountresponse.md", + "docs/components/modelslistresponse.md", + "docs/components/namedtoolchoice.md", + "docs/components/namedtoolchoicefunction.md", + "docs/components/namedtoolchoicetype.md", + "docs/components/notfoundresponseerrordata.md", + "docs/components/only.md", + "docs/components/openairesponsesannotation.md", + "docs/components/openairesponsesincludable.md", + "docs/components/openairesponsesincompletedetails.md", + "docs/components/openairesponsesinputcontent1.md", + "docs/components/openairesponsesinputcontent2.md", + "docs/components/openairesponsesinputcontent3.md", + "docs/components/openairesponsesinputfunctioncall.md", + "docs/components/openairesponsesinputfunctioncalloutput.md", + "docs/components/openairesponsesinputmessage1.md", + "docs/components/openairesponsesinputmessage2.md", + "docs/components/openairesponsesinputroleassistant.md", + "docs/components/openairesponsesinputroledeveloper1.md", + "docs/components/openairesponsesinputroledeveloper2.md", + "docs/components/openairesponsesinputrolesystem1.md", + "docs/components/openairesponsesinputrolesystem2.md", + "docs/components/openairesponsesinputroleunion1.md", + "docs/components/openairesponsesinputroleunion2.md", + "docs/components/openairesponsesinputroleuser1.md", + "docs/components/openairesponsesinputroleuser2.md", + "docs/components/openairesponsesinputtypefunctioncall.md", + "docs/components/openairesponsesinputtypefunctioncalloutput.md", + "docs/components/openairesponsesinputtypemessage1.md", + "docs/components/openairesponsesinputtypemessage2.md", + "docs/components/openairesponsesinputunion.md", + "docs/components/openairesponsesinputunion1.md", + "docs/components/openairesponsesprompt.md", + "docs/components/openairesponsesreasoningconfig.md", + "docs/components/openairesponsesreasoningeffort.md", + "docs/components/openairesponsesrefusalcontent.md", + "docs/components/openairesponsesrefusalcontenttype.md", + "docs/components/openairesponsesresponsestatus.md", + "docs/components/openairesponsesservicetier.md", + "docs/components/openairesponsestoolchoice.md", + "docs/components/openairesponsestoolchoiceauto.md", + "docs/components/openairesponsestoolchoicefunction.md", + "docs/components/openairesponsestoolchoicenone.md", + "docs/components/openairesponsestoolchoicerequired.md", + "docs/components/openairesponsestoolchoicetypefunction.md", + "docs/components/openairesponsestoolchoicetypewebsearchpreview.md", + "docs/components/openairesponsestoolchoicetypewebsearchpreview20250311.md", + "docs/components/openairesponsestoolchoiceunion.md", + "docs/components/openairesponsestruncation.md", + "docs/components/openresponseseasyinputmessage.md", + "docs/components/openresponseseasyinputmessagecontentinputimage.md", + "docs/components/openresponseseasyinputmessagecontenttype.md", + "docs/components/openresponseseasyinputmessagecontentunion1.md", + "docs/components/openresponseseasyinputmessagecontentunion2.md", + "docs/components/openresponseseasyinputmessagedetail.md", + "docs/components/openresponseseasyinputmessageroleassistant.md", + "docs/components/openresponseseasyinputmessageroledeveloper.md", + "docs/components/openresponseseasyinputmessagerolesystem.md", + "docs/components/openresponseseasyinputmessageroleunion.md", + "docs/components/openresponseseasyinputmessageroleuser.md", + "docs/components/openresponseseasyinputmessagetypemessage.md", + "docs/components/openresponseserrorevent.md", + "docs/components/openresponseserroreventtype.md", + "docs/components/openresponsesfunctioncalloutput.md", + "docs/components/openresponsesfunctioncalloutputtype.md", + "docs/components/openresponsesfunctiontoolcall.md", + "docs/components/openresponsesfunctiontoolcalltype.md", + "docs/components/openresponsesimagegencallcompleted.md", + "docs/components/openresponsesimagegencallcompletedtype.md", + "docs/components/openresponsesimagegencallgenerating.md", + "docs/components/openresponsesimagegencallgeneratingtype.md", + "docs/components/openresponsesimagegencallinprogress.md", + "docs/components/openresponsesimagegencallinprogresstype.md", + "docs/components/openresponsesimagegencallpartialimage.md", + "docs/components/openresponsesimagegencallpartialimagetype.md", + "docs/components/openresponsesinput.md", + "docs/components/openresponsesinput1.md", + "docs/components/openresponsesinputmessageitem.md", + "docs/components/openresponsesinputmessageitemcontentinputimage.md", + "docs/components/openresponsesinputmessageitemcontenttype.md", + "docs/components/openresponsesinputmessageitemcontentunion.md", + "docs/components/openresponsesinputmessageitemdetail.md", + "docs/components/openresponsesinputmessageitemroledeveloper.md", + "docs/components/openresponsesinputmessageitemrolesystem.md", + "docs/components/openresponsesinputmessageitemroleunion.md", + "docs/components/openresponsesinputmessageitemroleuser.md", + "docs/components/openresponsesinputmessageitemtypemessage.md", + "docs/components/openresponseslogprobs.md", + "docs/components/openresponsesnonstreamingresponse.md", + "docs/components/openresponsesnonstreamingresponseobject.md", + "docs/components/openresponsesnonstreamingresponsetoolfunction.md", + "docs/components/openresponsesnonstreamingresponsetoolunion.md", + "docs/components/openresponsesnonstreamingresponsetype.md", + "docs/components/openresponsesreasoning.md", + "docs/components/openresponsesreasoningconfig.md", + "docs/components/openresponsesreasoningdeltaevent.md", + "docs/components/openresponsesreasoningdeltaeventtype.md", + "docs/components/openresponsesreasoningdoneevent.md", + "docs/components/openresponsesreasoningdoneeventtype.md", + "docs/components/openresponsesreasoningformat.md", + "docs/components/openresponsesreasoningstatuscompleted.md", + "docs/components/openresponsesreasoningstatusincomplete.md", + "docs/components/openresponsesreasoningstatusinprogress.md", + "docs/components/openresponsesreasoningstatusunion.md", + "docs/components/openresponsesreasoningsummarypartaddedevent.md", + "docs/components/openresponsesreasoningsummarypartaddedeventtype.md", + "docs/components/openresponsesreasoningsummarytextdeltaevent.md", + "docs/components/openresponsesreasoningsummarytextdeltaeventtype.md", + "docs/components/openresponsesreasoningsummarytextdoneevent.md", + "docs/components/openresponsesreasoningsummarytextdoneeventtype.md", + "docs/components/openresponsesreasoningtype.md", + "docs/components/openresponsesrequest.md", + "docs/components/openresponsesrequestengine.md", + "docs/components/openresponsesrequestidautorouter.md", + "docs/components/openresponsesrequestidfileparser.md", + "docs/components/openresponsesrequestidmoderation.md", + "docs/components/openresponsesrequestidresponsehealing.md", + "docs/components/openresponsesrequestidweb.md", + "docs/components/openresponsesrequestignore.md", + "docs/components/openresponsesrequestimageconfig.md", + "docs/components/openresponsesrequestmaxprice.md", + "docs/components/openresponsesrequestonly.md", + "docs/components/openresponsesrequestorder.md", + "docs/components/openresponsesrequestpdf.md", + "docs/components/openresponsesrequestpdfengine.md", + "docs/components/openresponsesrequestpluginautorouter.md", + "docs/components/openresponsesrequestpluginfileparser.md", + "docs/components/openresponsesrequestpluginmoderation.md", + "docs/components/openresponsesrequestpluginresponsehealing.md", + "docs/components/openresponsesrequestpluginunion.md", + "docs/components/openresponsesrequestpluginweb.md", + "docs/components/openresponsesrequestprovider.md", + "docs/components/openresponsesrequestroute.md", + "docs/components/openresponsesrequestsort.md", + "docs/components/openresponsesrequesttoolfunction.md", + "docs/components/openresponsesrequesttoolunion.md", + "docs/components/openresponsesrequesttrace.md", + "docs/components/openresponsesrequesttype.md", + "docs/components/openresponsesresponsetext.md", + "docs/components/openresponsesresponsetextverbosity.md", + "docs/components/openresponsesstreamevent.md", + "docs/components/openresponsesstreameventresponsecompleted.md", + "docs/components/openresponsesstreameventresponsecontentpartadded.md", + "docs/components/openresponsesstreameventresponsecontentpartdone.md", + "docs/components/openresponsesstreameventresponsecreated.md", + "docs/components/openresponsesstreameventresponsefailed.md", + "docs/components/openresponsesstreameventresponsefunctioncallargumentsdelta.md", + "docs/components/openresponsesstreameventresponsefunctioncallargumentsdone.md", + "docs/components/openresponsesstreameventresponseincomplete.md", + "docs/components/openresponsesstreameventresponseinprogress.md", + "docs/components/openresponsesstreameventresponseoutputitemadded.md", + "docs/components/openresponsesstreameventresponseoutputitemdone.md", + "docs/components/openresponsesstreameventresponseoutputtextannotationadded.md", + "docs/components/openresponsesstreameventresponseoutputtextdelta.md", + "docs/components/openresponsesstreameventresponseoutputtextdone.md", + "docs/components/openresponsesstreameventresponsereasoningsummarypartdone.md", + "docs/components/openresponsesstreameventresponserefusaldelta.md", + "docs/components/openresponsesstreameventresponserefusaldone.md", + "docs/components/openresponsestoplogprobs.md", + "docs/components/openresponsesusage.md", + "docs/components/openresponseswebsearch20250826tool.md", + "docs/components/openresponseswebsearch20250826toolfilters.md", + "docs/components/openresponseswebsearch20250826tooltype.md", + "docs/components/openresponseswebsearchpreview20250311tool.md", + "docs/components/openresponseswebsearchpreview20250311tooltype.md", + "docs/components/openresponseswebsearchpreviewtool.md", + "docs/components/openresponseswebsearchpreviewtooltype.md", + "docs/components/openresponseswebsearchtool.md", + "docs/components/openresponseswebsearchtoolfilters.md", + "docs/components/openresponseswebsearchtooltype.md", + "docs/components/order.md", + "docs/components/outputitemimagegenerationcall.md", + "docs/components/outputitemimagegenerationcalltype.md", + "docs/components/outputmessage.md", + "docs/components/outputmessagecontent.md", + "docs/components/outputmessagerole.md", + "docs/components/outputmessagestatuscompleted.md", + "docs/components/outputmessagestatusincomplete.md", + "docs/components/outputmessagestatusinprogress.md", + "docs/components/outputmessagestatusunion.md", + "docs/components/outputmessagetype.md", + "docs/components/outputmodality.md", + "docs/components/outputtokensdetails.md", + "docs/components/parameter.md", + "docs/components/part1.md", + "docs/components/part2.md", + "docs/components/partition.md", + "docs/components/payloadtoolargeresponseerrordata.md", + "docs/components/paymentrequiredresponseerrordata.md", + "docs/components/pdfparserengine.md", + "docs/components/pdfparseroptions.md", + "docs/components/percentilelatencycutoffs.md", + "docs/components/percentilestats.md", + "docs/components/percentilethroughputcutoffs.md", + "docs/components/perrequestlimits.md", + "docs/components/preferredmaxlatency.md", + "docs/components/preferredminthroughput.md", + "docs/components/pricing.md", + "docs/components/prompttokensdetails.md", + "docs/components/providername.md", + "docs/components/provideroverloadedresponseerrordata.md", + "docs/components/providerpreferences.md", + "docs/components/providerpreferencesby.md", + "docs/components/providerpreferencesignore.md", + "docs/components/providerpreferencesmaxprice.md", + "docs/components/providerpreferencesonly.md", + "docs/components/providerpreferencesorder.md", + "docs/components/providerpreferencespartition.md", + "docs/components/providerpreferencesprovidersort.md", + "docs/components/providerpreferencesprovidersortconfig.md", + "docs/components/providerpreferencesprovidersortconfigenum.md", + "docs/components/providerpreferencesprovidersortconfigunion.md", + "docs/components/providerpreferencessortenum.md", + "docs/components/providerpreferencessortunion.md", + "docs/components/providersort.md", + "docs/components/providersortconfig.md", + "docs/components/publicendpoint.md", + "docs/components/publicendpointquantization.md", + "docs/components/publicpricing.md", + "docs/components/quantization.md", + "docs/components/reason.md", + "docs/components/reasoning.md", + "docs/components/reasoningdetailencrypted.md", + "docs/components/reasoningdetailencryptedformat.md", + "docs/components/reasoningdetailencryptedtype.md", + "docs/components/reasoningdetailsummary.md", + "docs/components/reasoningdetailsummaryformat.md", + "docs/components/reasoningdetailsummarytype.md", + "docs/components/reasoningdetailtext.md", + "docs/components/reasoningdetailtextformat.md", + "docs/components/reasoningdetailtexttype.md", + "docs/components/reasoningdetailunion.md", + "docs/components/reasoningsummarytext.md", + "docs/components/reasoningsummarytexttype.md", + "docs/components/reasoningsummaryverbosity.md", + "docs/components/reasoningtextcontent.md", + "docs/components/reasoningtextcontenttype.md", + "docs/components/requesttimeoutresponseerrordata.md", + "docs/components/responseformat.md", + "docs/components/responseformatjsonobject.md", + "docs/components/responseformatjsonobjecttype.md", + "docs/components/responseformatjsonschema.md", + "docs/components/responseformatjsonschematype.md", + "docs/components/responseformattext.md", + "docs/components/responseformattextconfig.md", + "docs/components/responseformattextgrammar.md", + "docs/components/responseformattextgrammartype.md", + "docs/components/responseformattextpython.md", + "docs/components/responseformattextpythontype.md", + "docs/components/responseformattexttype.md", + "docs/components/responseinputaudio.md", + "docs/components/responseinputaudioformat.md", + "docs/components/responseinputaudioinputaudio.md", + "docs/components/responseinputaudiotype.md", + "docs/components/responseinputfile.md", + "docs/components/responseinputfiletype.md", + "docs/components/responseinputimage.md", + "docs/components/responseinputimagedetail.md", + "docs/components/responseinputimagetype.md", + "docs/components/responseinputtext.md", + "docs/components/responseinputtexttype.md", + "docs/components/responseinputvideo.md", + "docs/components/responseinputvideotype.md", + "docs/components/responseoutputtext.md", + "docs/components/responseoutputtexttoplogprob.md", + "docs/components/responseoutputtexttype.md", + "docs/components/responseserrorfield.md", + "docs/components/responsesformattext.md", + "docs/components/responsesformattextjsonschemaconfig.md", + "docs/components/responsesformattextjsonschemaconfigtype.md", + "docs/components/responsesformattexttype.md", + "docs/components/responsesimagegenerationcall.md", + "docs/components/responsesimagegenerationcalltype.md", + "docs/components/responsesoutputitem.md", + "docs/components/responsesoutputitemfilesearchcall.md", + "docs/components/responsesoutputitemfilesearchcalltype.md", + "docs/components/responsesoutputitemfunctioncall.md", + "docs/components/responsesoutputitemfunctioncallstatuscompleted.md", + "docs/components/responsesoutputitemfunctioncallstatusincomplete.md", + "docs/components/responsesoutputitemfunctioncallstatusinprogress.md", + "docs/components/responsesoutputitemfunctioncallstatusunion.md", + "docs/components/responsesoutputitemfunctioncalltype.md", + "docs/components/responsesoutputitemreasoning.md", + "docs/components/responsesoutputitemreasoningformat.md", + "docs/components/responsesoutputitemreasoningstatuscompleted.md", + "docs/components/responsesoutputitemreasoningstatusincomplete.md", + "docs/components/responsesoutputitemreasoningstatusinprogress.md", + "docs/components/responsesoutputitemreasoningstatusunion.md", + "docs/components/responsesoutputitemreasoningtype.md", + "docs/components/responsesoutputmessage.md", + "docs/components/responsesoutputmessagecontent.md", + "docs/components/responsesoutputmessagerole.md", + "docs/components/responsesoutputmessagestatuscompleted.md", + "docs/components/responsesoutputmessagestatusincomplete.md", + "docs/components/responsesoutputmessagestatusinprogress.md", + "docs/components/responsesoutputmessagestatusunion.md", + "docs/components/responsesoutputmessagetype.md", + "docs/components/responsesoutputmodality.md", + "docs/components/responsessearchcontextsize.md", + "docs/components/responseswebsearchcalloutput.md", + "docs/components/responseswebsearchcalloutputtype.md", + "docs/components/responseswebsearchuserlocation.md", + "docs/components/responseswebsearchuserlocationtype.md", + "docs/components/responsetextconfig.md", + "docs/components/responsetextconfigverbosity.md", + "docs/components/security.md", + "docs/components/servicetier.md", + "docs/components/serviceunavailableresponseerrordata.md", + "docs/components/sort.md", + "docs/components/stop.md", + "docs/components/systemmessage.md", + "docs/components/systemmessagecontent.md", + "docs/components/systemmessagerole.md", + "docs/components/tokenizer.md", + "docs/components/toolcallstatus.md", + "docs/components/toolchoiceoption.md", + "docs/components/toolchoiceoptionauto.md", + "docs/components/toolchoiceoptionnone.md", + "docs/components/toolchoiceoptionrequired.md", + "docs/components/tooldefinitionjson.md", + "docs/components/tooldefinitionjsonfunction.md", + "docs/components/tooldefinitionjsontype.md", + "docs/components/toolresponsemessage.md", + "docs/components/toolresponsemessagecontent.md", + "docs/components/toolresponsemessagerole.md", + "docs/components/toomanyrequestsresponseerrordata.md", + "docs/components/topproviderinfo.md", + "docs/components/truncation.md", + "docs/components/ttl.md", + "docs/components/type.md", + "docs/components/typeresponsecompleted.md", + "docs/components/typeresponsecontentpartadded.md", + "docs/components/typeresponsecontentpartdone.md", + "docs/components/typeresponsecreated.md", + "docs/components/typeresponsefailed.md", + "docs/components/typeresponsefunctioncallargumentsdelta.md", + "docs/components/typeresponsefunctioncallargumentsdone.md", + "docs/components/typeresponseincomplete.md", + "docs/components/typeresponseinprogress.md", + "docs/components/typeresponseoutputitemadded.md", + "docs/components/typeresponseoutputitemdone.md", + "docs/components/typeresponseoutputtextannotationadded.md", + "docs/components/typeresponseoutputtextdelta.md", + "docs/components/typeresponseoutputtextdone.md", + "docs/components/typeresponsereasoningsummarypartdone.md", + "docs/components/typeresponserefusaldelta.md", + "docs/components/typeresponserefusaldone.md", + "docs/components/unauthorizedresponseerrordata.md", + "docs/components/unprocessableentityresponseerrordata.md", + "docs/components/urlcitation.md", + "docs/components/urlcitationtype.md", + "docs/components/usermessage.md", + "docs/components/usermessagecontent.md", + "docs/components/usermessagerole.md", + "docs/components/variables.md", + "docs/components/videoinput.md", + "docs/components/websearchengine.md", + "docs/components/websearchpreviewtooluserlocation.md", + "docs/components/websearchpreviewtooluserlocationtype.md", + "docs/components/websearchstatus.md", + "docs/errors/badgatewayresponseerror.md", + "docs/errors/badrequestresponseerror.md", + "docs/errors/edgenetworktimeoutresponseerror.md", + "docs/errors/forbiddenresponseerror.md", + "docs/errors/internalserverresponseerror.md", + "docs/errors/notfoundresponseerror.md", + "docs/errors/payloadtoolargeresponseerror.md", + "docs/errors/paymentrequiredresponseerror.md", + "docs/errors/provideroverloadedresponseerror.md", + "docs/errors/requesttimeoutresponseerror.md", + "docs/errors/serviceunavailableresponseerror.md", + "docs/errors/toomanyrequestsresponseerror.md", + "docs/errors/unauthorizedresponseerror.md", + "docs/errors/unprocessableentityresponseerror.md", + "docs/models/internal/globals.md", + "docs/models/utils/retryconfig.md", + "docs/operations/apitype.md", + "docs/operations/bulkassignkeystoguardrailglobals.md", + "docs/operations/bulkassignkeystoguardrailrequest.md", + "docs/operations/bulkassignkeystoguardrailrequestbody.md", + "docs/operations/bulkassignkeystoguardrailresponse.md", + "docs/operations/bulkassignmemberstoguardrailglobals.md", + "docs/operations/bulkassignmemberstoguardrailrequest.md", + "docs/operations/bulkassignmemberstoguardrailrequestbody.md", + "docs/operations/bulkassignmemberstoguardrailresponse.md", + "docs/operations/bulkunassignkeysfromguardrailglobals.md", + "docs/operations/bulkunassignkeysfromguardrailrequest.md", + "docs/operations/bulkunassignkeysfromguardrailrequestbody.md", + "docs/operations/bulkunassignkeysfromguardrailresponse.md", + "docs/operations/bulkunassignmembersfromguardrailglobals.md", + "docs/operations/bulkunassignmembersfromguardrailrequest.md", + "docs/operations/bulkunassignmembersfromguardrailrequestbody.md", + "docs/operations/bulkunassignmembersfromguardrailresponse.md", + "docs/operations/calldata.md", + "docs/operations/category.md", + "docs/operations/content.md", + "docs/operations/contentimageurl.md", + "docs/operations/contenttext.md", + "docs/operations/createauthkeyscodecodechallengemethod.md", + "docs/operations/createauthkeyscodedata.md", + "docs/operations/createauthkeyscodeglobals.md", + "docs/operations/createauthkeyscoderequest.md", + "docs/operations/createauthkeyscoderequestbody.md", + "docs/operations/createauthkeyscoderesponse.md", + "docs/operations/createcoinbasechargedata.md", + "docs/operations/createcoinbasechargeglobals.md", + "docs/operations/createcoinbasechargerequest.md", + "docs/operations/createcoinbasechargeresponse.md", + "docs/operations/createcoinbasechargesecurity.md", + "docs/operations/createembeddingsdata.md", + "docs/operations/createembeddingsglobals.md", + "docs/operations/createembeddingsprovider.md", + "docs/operations/createembeddingsrequest.md", + "docs/operations/createembeddingsrequestbody.md", + "docs/operations/createembeddingsresponse.md", + "docs/operations/createembeddingsresponsebody.md", + "docs/operations/createguardraildata.md", + "docs/operations/createguardrailglobals.md", + "docs/operations/createguardrailrequest.md", + "docs/operations/createguardrailrequestbody.md", + "docs/operations/createguardrailresetintervalrequest.md", + "docs/operations/createguardrailresetintervalresponse.md", + "docs/operations/createguardrailresponse.md", + "docs/operations/createkeysdata.md", + "docs/operations/createkeysglobals.md", + "docs/operations/createkeyslimitreset.md", + "docs/operations/createkeysrequest.md", + "docs/operations/createkeysrequestbody.md", + "docs/operations/createkeysresponse.md", + "docs/operations/createresponsesglobals.md", + "docs/operations/createresponsesrequest.md", + "docs/operations/createresponsesresponse.md", + "docs/operations/createresponsesresponsebody.md", + "docs/operations/deleteguardrailglobals.md", + "docs/operations/deleteguardrailrequest.md", + "docs/operations/deleteguardrailresponse.md", + "docs/operations/deletekeysglobals.md", + "docs/operations/deletekeysrequest.md", + "docs/operations/deletekeysresponse.md", + "docs/operations/embedding.md", + "docs/operations/encodingformat.md", + "docs/operations/exchangeauthcodeforapikeycodechallengemethod.md", + "docs/operations/exchangeauthcodeforapikeyglobals.md", + "docs/operations/exchangeauthcodeforapikeyrequest.md", + "docs/operations/exchangeauthcodeforapikeyrequestbody.md", + "docs/operations/exchangeauthcodeforapikeyresponse.md", + "docs/operations/getcreditsdata.md", + "docs/operations/getcreditsglobals.md", + "docs/operations/getcreditsrequest.md", + "docs/operations/getcreditsresponse.md", + "docs/operations/getcurrentkeydata.md", + "docs/operations/getcurrentkeyglobals.md", + "docs/operations/getcurrentkeyrequest.md", + "docs/operations/getcurrentkeyresponse.md", + "docs/operations/getgenerationdata.md", + "docs/operations/getgenerationglobals.md", + "docs/operations/getgenerationrequest.md", + "docs/operations/getgenerationresponse.md", + "docs/operations/getguardraildata.md", + "docs/operations/getguardrailglobals.md", + "docs/operations/getguardrailrequest.md", + "docs/operations/getguardrailresetinterval.md", + "docs/operations/getguardrailresponse.md", + "docs/operations/getkeydata.md", + "docs/operations/getkeyglobals.md", + "docs/operations/getkeyrequest.md", + "docs/operations/getkeyresponse.md", + "docs/operations/getmodelsglobals.md", + "docs/operations/getmodelsrequest.md", + "docs/operations/getparametersprovider.md", + "docs/operations/getuseractivityglobals.md", + "docs/operations/getuseractivityrequest.md", + "docs/operations/getuseractivityresponse.md", + "docs/operations/ignore.md", + "docs/operations/imageurl.md", + "docs/operations/input.md", + "docs/operations/inputunion.md", + "docs/operations/listdata.md", + "docs/operations/listembeddingsmodelsglobals.md", + "docs/operations/listembeddingsmodelsrequest.md", + "docs/operations/listendpointsglobals.md", + "docs/operations/listendpointsrequest.md", + "docs/operations/listendpointsresponse.md", + "docs/operations/listendpointszdrglobals.md", + "docs/operations/listendpointszdrrequest.md", + "docs/operations/listendpointszdrresponse.md", + "docs/operations/listglobals.md", + "docs/operations/listguardrailkeyassignmentsdata.md", + "docs/operations/listguardrailkeyassignmentsglobals.md", + "docs/operations/listguardrailkeyassignmentsrequest.md", + "docs/operations/listguardrailkeyassignmentsresponse.md", + "docs/operations/listguardrailmemberassignmentsdata.md", + "docs/operations/listguardrailmemberassignmentsglobals.md", + "docs/operations/listguardrailmemberassignmentsrequest.md", + "docs/operations/listguardrailmemberassignmentsresponse.md", + "docs/operations/listguardrailsdata.md", + "docs/operations/listguardrailsglobals.md", + "docs/operations/listguardrailsrequest.md", + "docs/operations/listguardrailsresetinterval.md", + "docs/operations/listguardrailsresponse.md", + "docs/operations/listkeyassignmentsdata.md", + "docs/operations/listkeyassignmentsglobals.md", + "docs/operations/listkeyassignmentsrequest.md", + "docs/operations/listkeyassignmentsresponse.md", + "docs/operations/listmemberassignmentsdata.md", + "docs/operations/listmemberassignmentsglobals.md", + "docs/operations/listmemberassignmentsrequest.md", + "docs/operations/listmemberassignmentsresponse.md", + "docs/operations/listmodelscountglobals.md", + "docs/operations/listmodelscountrequest.md", + "docs/operations/listmodelsuserglobals.md", + "docs/operations/listmodelsuserrequest.md", + "docs/operations/listmodelsusersecurity.md", + "docs/operations/listprovidersdata.md", + "docs/operations/listprovidersglobals.md", + "docs/operations/listprovidersrequest.md", + "docs/operations/listprovidersresponse.md", + "docs/operations/listrequest.md", + "docs/operations/listresponse.md", + "docs/operations/maxprice.md", + "docs/operations/metadata.md", + "docs/operations/object.md", + "docs/operations/objectembedding.md", + "docs/operations/only.md", + "docs/operations/order.md", + "docs/operations/providername.md", + "docs/operations/providerresponse.md", + "docs/operations/ratelimit.md", + "docs/operations/sendchatcompletionrequestglobals.md", + "docs/operations/sendchatcompletionrequestrequest.md", + "docs/operations/sendchatcompletionrequestresponse.md", + "docs/operations/sendchatcompletionrequestresponsebody.md", + "docs/operations/transferintent.md", + "docs/operations/typeimageurl.md", + "docs/operations/typetext.md", + "docs/operations/updateguardraildata.md", + "docs/operations/updateguardrailglobals.md", + "docs/operations/updateguardrailrequest.md", + "docs/operations/updateguardrailrequestbody.md", + "docs/operations/updateguardrailresetintervalrequest.md", + "docs/operations/updateguardrailresetintervalresponse.md", + "docs/operations/updateguardrailresponse.md", + "docs/operations/updatekeysdata.md", + "docs/operations/updatekeysglobals.md", + "docs/operations/updatekeyslimitreset.md", + "docs/operations/updatekeysrequest.md", + "docs/operations/updatekeysrequestbody.md", + "docs/operations/updatekeysresponse.md", + "docs/operations/usage.md", + "docs/operations/usagelimittype.md", + "docs/operations/web3data.md", + "docs/sdks/analytics/README.md", + "docs/sdks/chat/README.md", + "docs/sdks/credits/README.md", + "docs/sdks/embeddings/README.md", + "docs/sdks/endpoints/README.md", + "docs/sdks/generations/README.md", + "docs/sdks/guardrails/README.md", + "docs/sdks/models/README.md", + "docs/sdks/oauth/README.md", + "docs/sdks/providers/README.md", + "docs/sdks/responses/README.md" + ], + "contributing": [ + "CONTRIBUTING.md" + ], + "overview": [ + "OVERVIEW.md", + "README-PYPI.md", + "README.md", + "RELEASES.md", + "USAGE.md" + ], + "api": [ + "docs/sdks/apikeys/README.md" + ] + }, + "files": [ + { + "path": ".devcontainer/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 1104, + "title": "Dev Containers Quick Start", + "structure": { + "title": "Dev Containers Quick Start", + "headers": [ + { + "level": 1, + "text": "Dev Containers Quick Start", + "line": 9 + }, + { + "level": 2, + "text": "Running a Usage Sample", + "line": 13 + }, + { + "level": 2, + "text": "Generating Additional Usage Samples", + "line": 21 + } + ], + "code_blocks": [ + { + "language": "text", + "code": "python root.py" + }, + { + "language": "text", + "code": "speakeasy generate usage -s .speakeasy/out.openapi.yaml -l python -i {INPUT_OPERATION_ID} -o ./samples" + }, + { + "language": "text", + "code": "speakeasy generate usage -s .speakeasy/out.openapi.yaml -l python -n {INPUT_TAG_NAME} -o ./samples" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 13, + "line_count": 36 + }, + "summary": "**Dev Containers Quick Start**\nSections: Running a Usage Sample, Generating Additional Usage Samples\n

\n(13 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.333333333333333 + } + } + }, + { + "path": "CONTRIBUTING.md", + "filename": "CONTRIBUTING.md", + "category": "contributing", + "size_bytes": 1333, + "title": "Contributing to This Repository", + "structure": { + "title": "Contributing to This Repository", + "headers": [ + { + "level": 1, + "text": "Contributing to This Repository", + "line": 1 + }, + { + "level": 2, + "text": "How to Report Issues", + "line": 5 + }, + { + "level": 2, + "text": "Issue Triage and Upstream Fixes", + "line": 16 + }, + { + "level": 2, + "text": "Contact", + "line": 20 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 11, + "line_count": 27 + }, + "summary": "**Contributing to This Repository**\nSections: How to Report Issues, Issue Triage and Upstream Fixes, Contact\nThank you for your interest in contributing to this repository. Please note that this repository contains generated code. As such, we do not accept direct changes or pull requests. Instead, we encoura...\n(11 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "OVERVIEW.md", + "filename": "OVERVIEW.md", + "category": "overview", + "size_bytes": 3289, + "title": "OpenRouter Python SDK", + "structure": { + "title": "OpenRouter Python SDK", + "headers": [ + { + "level": 1, + "text": "OpenRouter Python SDK", + "line": 1 + }, + { + "level": 2, + "text": "Why use the OpenRouter SDK?", + "line": 5 + }, + { + "level": 3, + "text": "Auto-generated from API specifications", + "line": 26 + }, + { + "level": 3, + "text": "Type-safe by default", + "line": 37 + }, + { + "level": 2, + "text": "Installation", + "line": 93 + }, + { + "level": 2, + "text": "Quick start", + "line": 110 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\nwith OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\")\n) as client:\n response = client.chat.send(\n model=\"minimax/minimax-m2\",\n messages=[\n {\"role\": \"user\", \"content\": \"Explain quantum computing\"}\n ]\n )" + }, + { + "language": "python", + "code": "# When new models launch, they're available instantly\nresponse = client.chat.send(\n model=\"minimax/minimax-m2\"\n)" + }, + { + "language": "python", + "code": "response = client.chat.send(\n model=\"minimax/minimax-m2\",\n messages=[\n {\"role\": \"user\", \"content\": \"Hello\"}\n # \u2190 Pydantic validates message structure\n ],\n temperature=0.7, # \u2190 Type-checked and validated\n stream=True # \u2190 Response type changes based on this\n)" + }, + { + "language": "python", + "code": "# Instead of generic errors, get specific guidance:\n# \"Model 'openai/o1-preview' requires at least 2 messages.\n# You provided 1 message. Add a system or user message.\"" + }, + { + "language": "python", + "code": "stream = client.chat.send(\n model=\"minimax/minimax-m2\",\n messages=[{\"role\": \"user\", \"content\": \"Write a story\"}],\n stream=True\n)\n\nfor event in stream:\n # Full type information for streaming responses\n content = event.choices[0].delta.content if event.choices else None" + }, + { + "language": "python", + "code": "import asyncio\n\nasync def main():\n async with OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\")\n ) as client:\n response = await client.chat.send_async(\n model=\"minimax/minimax-m2\",\n messages=[{\"role\": \"user\", \"content\": \"Hello\"}]\n )\n print(response.choices[0].message.content)\n\nasyncio.run(main())" + }, + { + "language": "bash", + "code": "# Using uv (recommended)\nuv add openrouter\n\n# Using pip\npip install openrouter\n\n# Using poetry\npoetry add openrouter" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\nwith OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\")\n) as client:\n response = client.chat.send(\n model=\"minimax/minimax-m2\",\n messages=[\n {\"role\": \"user\", \"content\": \"Hello!\"}\n ]\n )\n\n print(response.choices[0].message.content)" + } + ], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 24, + "line_count": 128 + }, + "summary": "**OpenRouter Python SDK**\nSections: Why use the OpenRouter SDK?, Auto-generated from API specifications, Type-safe by default, Installation, Quick start\nThe OpenRouter Python SDK is a type-safe toolkit for building AI applications with access to 300+ language models through a unified API.\n(24 words, 8 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 8, + "images": 0, + "quality_scores": { + "avg_code_quality": 9.375 + } + } + }, + { + "path": "README-PYPI.md", + "filename": "README-PYPI.md", + "category": "overview", + "size_bytes": 7157, + "title": "OpenRouter SDK (Beta)", + "structure": { + "title": "OpenRouter SDK (Beta)", + "headers": [ + { + "level": 1, + "text": "OpenRouter SDK (Beta)", + "line": 1 + }, + { + "level": 2, + "text": "SDK Installation", + "line": 12 + }, + { + "level": 3, + "text": "uv", + "line": 21 + }, + { + "level": 3, + "text": "PIP", + "line": 29 + }, + { + "level": 3, + "text": "Poetry", + "line": 37 + }, + { + "level": 3, + "text": "Shell and script usage with `uv`", + "line": 45 + }, + { + "level": 2, + "text": "Requirements", + "line": 78 + }, + { + "level": 2, + "text": "IDE Support", + "line": 84 + }, + { + "level": 3, + "text": "PyCharm", + "line": 86 + }, + { + "level": 2, + "text": "SDK Usage", + "line": 94 + }, + { + "level": 2, + "text": "Resource Management", + "line": 173 + }, + { + "level": 2, + "text": "Debugging", + "line": 205 + }, + { + "level": 1, + "text": "Development", + "line": 223 + }, + { + "level": 2, + "text": "Running Tests", + "line": 225 + }, + { + "level": 3, + "text": "Local Development", + "line": 229 + }, + { + "level": 2, + "text": "Maturity", + "line": 249 + } + ], + "code_blocks": [ + { + "language": "bash", + "code": "uv add openrouter" + }, + { + "language": "bash", + "code": "pip install openrouter" + }, + { + "language": "bash", + "code": "poetry add openrouter" + }, + { + "language": "shell", + "code": "uvx --from openrouter python" + }, + { + "language": "python", + "code": "#!/usr/bin/env -S uv run --script\n# /// script\n# requires-python = \">=3.9\"\n# dependencies = [\n# \"openrouter\",\n# ]\n# ///\n\nfrom openrouter import OpenRouter\n\nsdk = OpenRouter(\n # SDK arguments\n)\n\n# Rest of script here..." + }, + { + "language": "python", + "code": "# Synchronous Example\nfrom openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.chat.send(messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello, how are you?\",\n },\n ], model=\"anthropic/claude-4.5-sonnet\", provider={\n \"zdr\": True,\n \"sort\": \"price\",\n }, stream=True)\n\n for event in event_stream:\n # handle event\n print(event, flush=True)" + }, + { + "language": "python", + "code": "# Asynchronous Example\nimport asyncio\nfrom openrouter import OpenRouter\nimport os\n\nasync def main():\n\n async with OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n\n res = await open_router.chat.send_async(messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello, how are you?\",\n },\n ], model=\"anthropic/claude-4.5-sonnet\", provider={\n \"zdr\": True,\n \"sort\": \"price\",\n }, stream=True)\n\n async for e" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\ndef main():\n\n with OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n # Rest of application here...\n\n\n# Or when using async:\nasync def amain():\n\n async with OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n # Rest of application here..." + }, + { + "language": "bash", + "code": " cp .env.example .env" + }, + { + "language": "bash", + "code": " OPENROUTER_API_KEY=your_api_key_here" + }, + { + "language": "bash", + "code": " pytest" + } + ], + "tables": 0, + "images": 0, + "links": 4, + "word_count": 54, + "line_count": 253 + }, + "summary": "**OpenRouter SDK (Beta)**\nSections: SDK Installation, uv, PIP, Poetry, Shell and script usage with `uv`\nThe [OpenRouter SDK](https://openrouter.ai/docs/sdks/python) is a Python toolkit designed to help you build AI-powered features and solutions. Giving you easy access to over 300 models across provider...\n(54 words, 11 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 11, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "README.md", + "filename": "README.md", + "category": "overview", + "size_bytes": 7157, + "title": "OpenRouter SDK (Beta)", + "structure": { + "title": "OpenRouter SDK (Beta)", + "headers": [ + { + "level": 1, + "text": "OpenRouter SDK (Beta)", + "line": 1 + }, + { + "level": 2, + "text": "SDK Installation", + "line": 12 + }, + { + "level": 3, + "text": "uv", + "line": 21 + }, + { + "level": 3, + "text": "PIP", + "line": 29 + }, + { + "level": 3, + "text": "Poetry", + "line": 37 + }, + { + "level": 3, + "text": "Shell and script usage with `uv`", + "line": 45 + }, + { + "level": 2, + "text": "Requirements", + "line": 78 + }, + { + "level": 2, + "text": "IDE Support", + "line": 84 + }, + { + "level": 3, + "text": "PyCharm", + "line": 86 + }, + { + "level": 2, + "text": "SDK Usage", + "line": 94 + }, + { + "level": 2, + "text": "Resource Management", + "line": 173 + }, + { + "level": 2, + "text": "Debugging", + "line": 205 + }, + { + "level": 1, + "text": "Development", + "line": 223 + }, + { + "level": 2, + "text": "Running Tests", + "line": 225 + }, + { + "level": 3, + "text": "Local Development", + "line": 229 + }, + { + "level": 2, + "text": "Maturity", + "line": 249 + } + ], + "code_blocks": [ + { + "language": "bash", + "code": "uv add openrouter" + }, + { + "language": "bash", + "code": "pip install openrouter" + }, + { + "language": "bash", + "code": "poetry add openrouter" + }, + { + "language": "shell", + "code": "uvx --from openrouter python" + }, + { + "language": "python", + "code": "#!/usr/bin/env -S uv run --script\n# /// script\n# requires-python = \">=3.9\"\n# dependencies = [\n# \"openrouter\",\n# ]\n# ///\n\nfrom openrouter import OpenRouter\n\nsdk = OpenRouter(\n # SDK arguments\n)\n\n# Rest of script here..." + }, + { + "language": "python", + "code": "# Synchronous Example\nfrom openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.chat.send(messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello, how are you?\",\n },\n ], model=\"anthropic/claude-4.5-sonnet\", provider={\n \"zdr\": True,\n \"sort\": \"price\",\n }, stream=True)\n\n for event in event_stream:\n # handle event\n print(event, flush=True)" + }, + { + "language": "python", + "code": "# Asynchronous Example\nimport asyncio\nfrom openrouter import OpenRouter\nimport os\n\nasync def main():\n\n async with OpenRouter(\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n\n res = await open_router.chat.send_async(messages=[\n {\n \"role\": \"user\",\n \"content\": \"Hello, how are you?\",\n },\n ], model=\"anthropic/claude-4.5-sonnet\", provider={\n \"zdr\": True,\n \"sort\": \"price\",\n }, stream=True)\n\n async for e" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\ndef main():\n\n with OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n # Rest of application here...\n\n\n# Or when using async:\nasync def amain():\n\n async with OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n # Rest of application here..." + }, + { + "language": "bash", + "code": " cp .env.example .env" + }, + { + "language": "bash", + "code": " OPENROUTER_API_KEY=your_api_key_here" + }, + { + "language": "bash", + "code": " pytest" + } + ], + "tables": 0, + "images": 0, + "links": 4, + "word_count": 54, + "line_count": 253 + }, + "summary": "**OpenRouter SDK (Beta)**\nSections: SDK Installation, uv, PIP, Poetry, Shell and script usage with `uv`\nThe [OpenRouter SDK](https://openrouter.ai/docs/sdks/python) is a Python toolkit designed to help you build AI-powered features and solutions. Giving you easy access to over 300 models across provider...\n(54 words, 11 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 11, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "RELEASES.md", + "filename": "RELEASES.md", + "category": "overview", + "size_bytes": 251, + "title": "RELEASES", + "structure": { + "title": "", + "headers": [ + { + "level": 2, + "text": "2025-11-15 18:16:18", + "line": 3 + }, + { + "level": 3, + "text": "Changes", + "line": 4 + }, + { + "level": 3, + "text": "Generated", + "line": 8 + }, + { + "level": 3, + "text": "Releases", + "line": 10 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 11 + }, + "summary": "Sections: 2025-11-15 18:16:18, Changes, Generated, Releases\nBased on: - OpenAPI Doc - Speakeasy CLI 1.658.1 (2.755.6) https://github.com/speakeasy-api/speakeasy\n(8 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "USAGE.md", + "filename": "USAGE.md", + "category": "overview", + "size_bytes": 1152, + "title": "USAGE", + "structure": { + "title": "", + "headers": [], + "code_blocks": [ + { + "language": "python", + "code": "# Synchronous Example\nfrom openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.beta.responses.send(service_tier=\"auto\", stream=False)\n\n with res as event_stream:\n for event in event_stream:\n # handle event\n print(event, flush=True)" + }, + { + "language": "python", + "code": "# Asynchronous Example\nimport asyncio\nfrom openrouter import OpenRouter\nimport os\n\nasync def main():\n\n async with OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n ) as open_router:\n\n res = await open_router.beta.responses.send_async(service_tier=\"auto\", stream=False)\n\n async with res as event_stream:\n async for event in event_stream:\n # handle event\n print(even" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 49 + }, + "summary": "\n(4 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/components/activityitem.md", + "filename": "activityitem.md", + "category": "other", + "size_bytes": 3563, + "title": "ActivityItem", + "structure": { + "title": "ActivityItem", + "headers": [ + { + "level": 1, + "text": "ActivityItem", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 18 + }, + "summary": "**ActivityItem**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/architecture.md", + "filename": "architecture.md", + "category": "other", + "size_bytes": 2488, + "title": "Architecture", + "structure": { + "title": "Architecture", + "headers": [ + { + "level": 1, + "text": "Architecture", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**Architecture**\nSections: Fields\nModel architecture information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/assistantmessage.md", + "filename": "assistantmessage.md", + "category": "other", + "size_bytes": 5047, + "title": "AssistantMessage", + "structure": { + "title": "AssistantMessage", + "headers": [ + { + "level": 1, + "text": "AssistantMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 17 + }, + "summary": "**AssistantMessage**\nSections: Fields\nAssistant message for requests and responses\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/assistantmessagecontent.md", + "filename": "assistantmessagecontent.md", + "category": "other", + "size_bytes": 318, + "title": "AssistantMessageContent", + "structure": { + "title": "AssistantMessageContent", + "headers": [ + { + "level": 1, + "text": "AssistantMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.ChatMessageContentItem]`", + "line": 14 + }, + { + "level": 3, + "text": "`Any`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.ChatMessageContentItem] = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**AssistantMessageContent**\nSections: Supported Types, `str`, `List[components.ChatMessageContentItem]`, `Any`\nAssistant message content\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.833333333333333 + } + } + }, + { + "path": "docs/components/assistantmessageimages.md", + "filename": "assistantmessageimages.md", + "category": "other", + "size_bytes": 1183, + "title": "AssistantMessageImages", + "structure": { + "title": "AssistantMessageImages", + "headers": [ + { + "level": 1, + "text": "AssistantMessageImages", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**AssistantMessageImages**\nSections: Fields\n| Field | Type | Required...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/assistantmessageimagesimageurl.md", + "filename": "assistantmessageimagesimageurl.md", + "category": "other", + "size_bytes": 675, + "title": "AssistantMessageImagesImageURL", + "structure": { + "title": "AssistantMessageImagesImageURL", + "headers": [ + { + "level": 1, + "text": "AssistantMessageImagesImageURL", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**AssistantMessageImagesImageURL**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/assistantmessagerole.md", + "filename": "assistantmessagerole.md", + "category": "other", + "size_bytes": 125, + "title": "AssistantMessageRole", + "structure": { + "title": "AssistantMessageRole", + "headers": [ + { + "level": 1, + "text": "AssistantMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**AssistantMessageRole**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `ASSISTANT` | assistant |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/badgatewayresponseerrordata.md", + "filename": "badgatewayresponseerrordata.md", + "category": "other", + "size_bytes": 667, + "title": "BadGatewayResponseErrorData", + "structure": { + "title": "BadGatewayResponseErrorData", + "headers": [ + { + "level": 1, + "text": "BadGatewayResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**BadGatewayResponseErrorData**\nSections: Fields\nError data for BadGatewayResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/badrequestresponseerrordata.md", + "filename": "badrequestresponseerrordata.md", + "category": "other", + "size_bytes": 667, + "title": "BadRequestResponseErrorData", + "structure": { + "title": "BadRequestResponseErrorData", + "headers": [ + { + "level": 1, + "text": "BadRequestResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**BadRequestResponseErrorData**\nSections: Fields\nError data for BadRequestResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/by.md", + "filename": "by.md", + "category": "other", + "size_bytes": 237, + "title": "By", + "structure": { + "title": "By", + "headers": [ + { + "level": 1, + "text": "By", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**By**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chainid.md", + "filename": "chainid.md", + "category": "other", + "size_bytes": 512, + "title": "ChainID", + "structure": { + "title": "ChainID", + "headers": [ + { + "level": 1, + "text": "ChainID", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChainID**\nSections: Values\n| Name | Value | | --------------------------------------------- | --------------------------------------------- | | `O...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatcompletionfinishreason.md", + "filename": "chatcompletionfinishreason.md", + "category": "other", + "size_bytes": 321, + "title": "ChatCompletionFinishReason", + "structure": { + "title": "ChatCompletionFinishReason", + "headers": [ + { + "level": 1, + "text": "ChatCompletionFinishReason", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**ChatCompletionFinishReason**\nSections: Values\n| Name | Value | | ---------------- | ---------------- | | `TOOL_CALLS` | tool_calls | | `STOP` | stop | | `LENGTH` | length | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparams.md", + "filename": "chatgenerationparams.md", + "category": "other", + "size_bytes": 38215, + "title": "ChatGenerationParams", + "structure": { + "title": "ChatGenerationParams", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParams", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 39 + }, + "summary": "**ChatGenerationParams**\nSections: Fields\nChat completion request parameters\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 5, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsby.md", + "filename": "chatgenerationparamsby.md", + "category": "other", + "size_bytes": 257, + "title": "ChatGenerationParamsBy", + "structure": { + "title": "ChatGenerationParamsBy", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsBy", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ChatGenerationParamsBy**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsengine.md", + "filename": "chatgenerationparamsengine.md", + "category": "other", + "size_bytes": 137, + "title": "ChatGenerationParamsEngine", + "structure": { + "title": "ChatGenerationParamsEngine", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatGenerationParamsEngine**\nSections: Values\n| Name | Value | | -------- | -------- | | `NATIVE` | native | | `EXA` | exa |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsidautorouter.md", + "filename": "chatgenerationparamsidautorouter.md", + "category": "other", + "size_bytes": 149, + "title": "ChatGenerationParamsIDAutoRouter", + "structure": { + "title": "ChatGenerationParamsIDAutoRouter", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIDAutoRouter", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsIDAutoRouter**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `AUTO_ROUTER` | auto-router |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsidfileparser.md", + "filename": "chatgenerationparamsidfileparser.md", + "category": "other", + "size_bytes": 149, + "title": "ChatGenerationParamsIDFileParser", + "structure": { + "title": "ChatGenerationParamsIDFileParser", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIDFileParser", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsIDFileParser**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `FILE_PARSER` | file-parser |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsidmoderation.md", + "filename": "chatgenerationparamsidmoderation.md", + "category": "other", + "size_bytes": 143, + "title": "ChatGenerationParamsIDModeration", + "structure": { + "title": "ChatGenerationParamsIDModeration", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIDModeration", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsIDModeration**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `MODERATION` | moderation |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsidresponsehealing.md", + "filename": "chatgenerationparamsidresponsehealing.md", + "category": "other", + "size_bytes": 184, + "title": "ChatGenerationParamsIDResponseHealing", + "structure": { + "title": "ChatGenerationParamsIDResponseHealing", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIDResponseHealing", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsIDResponseHealing**\nSections: Values\n| Name | Value | | ------------------ | ------------------ | | `RESPONSE_HEALING` | response-healing |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsidweb.md", + "filename": "chatgenerationparamsidweb.md", + "category": "other", + "size_bytes": 94, + "title": "ChatGenerationParamsIDWeb", + "structure": { + "title": "ChatGenerationParamsIDWeb", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIDWeb", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsIDWeb**\nSections: Values\n| Name | Value | | ----- | ----- | | `WEB` | web |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsignore.md", + "filename": "chatgenerationparamsignore.md", + "category": "other", + "size_bytes": 205, + "title": "ChatGenerationParamsIgnore", + "structure": { + "title": "ChatGenerationParamsIgnore", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsIgnore", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ChatGenerationParamsIgnore**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsimageconfig.md", + "filename": "chatgenerationparamsimageconfig.md", + "category": "other", + "size_bytes": 263, + "title": "ChatGenerationParamsImageConfig", + "structure": { + "title": "ChatGenerationParamsImageConfig", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsImageConfig", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`str`", + "line": 6 + }, + { + "level": 3, + "text": "`float`", + "line": 12 + }, + { + "level": 3, + "text": "`List[Nullable[Any]]`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: float = /* values here */" + }, + { + "language": "python", + "code": "value: List[Nullable[Any]] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**ChatGenerationParamsImageConfig**\nSections: Supported Types, `str`, `float`, `List[Nullable[Any]]`\nvalue: str = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.5 + } + } + }, + { + "path": "docs/components/chatgenerationparamsmaxprice.md", + "filename": "chatgenerationparamsmaxprice.md", + "category": "other", + "size_bytes": 1379, + "title": "ChatGenerationParamsMaxPrice", + "structure": { + "title": "ChatGenerationParamsMaxPrice", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsMaxPrice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ChatGenerationParamsMaxPrice**\nSections: Fields\nThe object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsonly.md", + "filename": "chatgenerationparamsonly.md", + "category": "other", + "size_bytes": 203, + "title": "ChatGenerationParamsOnly", + "structure": { + "title": "ChatGenerationParamsOnly", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsOnly", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ChatGenerationParamsOnly**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsorder.md", + "filename": "chatgenerationparamsorder.md", + "category": "other", + "size_bytes": 204, + "title": "ChatGenerationParamsOrder", + "structure": { + "title": "ChatGenerationParamsOrder", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsOrder", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ChatGenerationParamsOrder**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspartition.md", + "filename": "chatgenerationparamspartition.md", + "category": "other", + "size_bytes": 320, + "title": "ChatGenerationParamsPartition", + "structure": { + "title": "ChatGenerationParamsPartition", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPartition", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatGenerationParamsPartition**\nSections: Values\nPartitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspdf.md", + "filename": "chatgenerationparamspdf.md", + "category": "other", + "size_bytes": 1280, + "title": "ChatGenerationParamsPdf", + "structure": { + "title": "ChatGenerationParamsPdf", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPdf", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsPdf**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspdfengine.md", + "filename": "chatgenerationparamspdfengine.md", + "category": "other", + "size_bytes": 214, + "title": "ChatGenerationParamsPdfEngine", + "structure": { + "title": "ChatGenerationParamsPdfEngine", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPdfEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatGenerationParamsPdfEngine**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `MISTRAL_OCR` | mistral-ocr | | `PDF_TEXT` | pdf-text | | `NATIVE` | native |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginautorouter.md", + "filename": "chatgenerationparamspluginautorouter.md", + "category": "other", + "size_bytes": 5411, + "title": "ChatGenerationParamsPluginAutoRouter", + "structure": { + "title": "ChatGenerationParamsPluginAutoRouter", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginAutoRouter", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatGenerationParamsPluginAutoRouter**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginfileparser.md", + "filename": "chatgenerationparamspluginfileparser.md", + "category": "other", + "size_bytes": 2041, + "title": "ChatGenerationParamsPluginFileParser", + "structure": { + "title": "ChatGenerationParamsPluginFileParser", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginFileParser", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatGenerationParamsPluginFileParser**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginmoderation.md", + "filename": "chatgenerationparamspluginmoderation.md", + "category": "other", + "size_bytes": 1245, + "title": "ChatGenerationParamsPluginModeration", + "structure": { + "title": "ChatGenerationParamsPluginModeration", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginModeration", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatGenerationParamsPluginModeration**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginresponsehealing.md", + "filename": "chatgenerationparamspluginresponsehealing.md", + "category": "other", + "size_bytes": 1808, + "title": "ChatGenerationParamsPluginResponseHealing", + "structure": { + "title": "ChatGenerationParamsPluginResponseHealing", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginResponseHealing", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatGenerationParamsPluginResponseHealing**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginunion.md", + "filename": "chatgenerationparamspluginunion.md", + "category": "other", + "size_bytes": 777, + "title": "ChatGenerationParamsPluginUnion", + "structure": { + "title": "ChatGenerationParamsPluginUnion", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsPluginAutoRouter`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsPluginModeration`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsPluginWeb`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsPluginFileParser`", + "line": 24 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsPluginResponseHealing`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatGenerationParamsPluginAutoRouter = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsPluginModeration = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsPluginWeb = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsPluginFileParser = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsPluginResponseHealing = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**ChatGenerationParamsPluginUnion**\nSections: Supported Types, `components.ChatGenerationParamsPluginAutoRouter`, `components.ChatGenerationParamsPluginModeration`, `components.ChatGenerationParamsPluginWeb`, `components.ChatGenerationParamsPluginFileParser`\nvalue: components.ChatGenerationParamsPluginAutoRouter = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/chatgenerationparamspluginweb.md", + "filename": "chatgenerationparamspluginweb.md", + "category": "other", + "size_bytes": 2438, + "title": "ChatGenerationParamsPluginWeb", + "structure": { + "title": "ChatGenerationParamsPluginWeb", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsPluginWeb", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**ChatGenerationParamsPluginWeb**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsprovider.md", + "filename": "chatgenerationparamsprovider.md", + "category": "other", + "size_bytes": 26264, + "title": "ChatGenerationParamsProvider", + "structure": { + "title": "ChatGenerationParamsProvider", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsProvider", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 22 + }, + "summary": "**ChatGenerationParamsProvider**\nSections: Fields\nWhen multiple model providers are available, optionally indicate your routing preference.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsprovidersort.md", + "filename": "chatgenerationparamsprovidersort.md", + "category": "other", + "size_bytes": 267, + "title": "ChatGenerationParamsProviderSort", + "structure": { + "title": "ChatGenerationParamsProviderSort", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsProviderSort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ChatGenerationParamsProviderSort**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsprovidersortconfig.md", + "filename": "chatgenerationparamsprovidersortconfig.md", + "category": "other", + "size_bytes": 3841, + "title": "ChatGenerationParamsProviderSortConfig", + "structure": { + "title": "ChatGenerationParamsProviderSortConfig", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsProviderSortConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatGenerationParamsProviderSortConfig**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsprovidersortconfigenum.md", + "filename": "chatgenerationparamsprovidersortconfigenum.md", + "category": "other", + "size_bytes": 217, + "title": "ChatGenerationParamsProviderSortConfigEnum", + "structure": { + "title": "ChatGenerationParamsProviderSortConfigEnum", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsProviderSortConfigEnum", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatGenerationParamsProviderSortConfigEnum**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `PRICE` | price | | `THROUGHPUT` | throughput | | `LATENCY` | latency |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamsprovidersortconfigunion.md", + "filename": "chatgenerationparamsprovidersortconfigunion.md", + "category": "other", + "size_bytes": 374, + "title": "ChatGenerationParamsProviderSortConfigUnion", + "structure": { + "title": "ChatGenerationParamsProviderSortConfigUnion", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsProviderSortConfigUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsProviderSortConfig`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsProviderSortConfigEnum`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatGenerationParamsProviderSortConfig = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsProviderSortConfigEnum = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ChatGenerationParamsProviderSortConfigUnion**\nSections: Supported Types, `components.ChatGenerationParamsProviderSortConfig`, `components.ChatGenerationParamsProviderSortConfigEnum`\nvalue: components.ChatGenerationParamsProviderSortConfig = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/chatgenerationparamsroute.md", + "filename": "chatgenerationparamsroute.md", + "category": "other", + "size_bytes": 152, + "title": "ChatGenerationParamsRoute", + "structure": { + "title": "ChatGenerationParamsRoute", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsRoute", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatGenerationParamsRoute**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FALLBACK` | fallback | | `SORT` | sort |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamssortenum.md", + "filename": "chatgenerationparamssortenum.md", + "category": "other", + "size_bytes": 203, + "title": "ChatGenerationParamsSortEnum", + "structure": { + "title": "ChatGenerationParamsSortEnum", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsSortEnum", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatGenerationParamsSortEnum**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `PRICE` | price | | `THROUGHPUT` | throughput | | `LATENCY` | latency |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationparamssortunion.md", + "filename": "chatgenerationparamssortunion.md", + "category": "other", + "size_bytes": 597, + "title": "ChatGenerationParamsSortUnion", + "structure": { + "title": "ChatGenerationParamsSortUnion", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsSortUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsProviderSort`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsProviderSortConfigUnion`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ChatGenerationParamsSortEnum`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatGenerationParamsProviderSort = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsProviderSortConfigUnion = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatGenerationParamsSortEnum = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**ChatGenerationParamsSortUnion**\nSections: Supported Types, `components.ChatGenerationParamsProviderSort`, `components.ChatGenerationParamsProviderSortConfigUnion`, `components.ChatGenerationParamsSortEnum`\nThe sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed.\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/chatgenerationparamstrace.md", + "filename": "chatgenerationparamstrace.md", + "category": "other", + "size_bytes": 1218, + "title": "ChatGenerationParamsTrace", + "structure": { + "title": "ChatGenerationParamsTrace", + "headers": [ + { + "level": 1, + "text": "ChatGenerationParamsTrace", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**ChatGenerationParamsTrace**\nSections: Fields\nMetadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to co...\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatgenerationtokenusage.md", + "filename": "chatgenerationtokenusage.md", + "category": "other", + "size_bytes": 2849, + "title": "ChatGenerationTokenUsage", + "structure": { + "title": "ChatGenerationTokenUsage", + "headers": [ + { + "level": 1, + "text": "ChatGenerationTokenUsage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ChatGenerationTokenUsage**\nSections: Fields\nToken usage statistics\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitem.md", + "filename": "chatmessagecontentitem.md", + "category": "other", + "size_bytes": 588, + "title": "ChatMessageContentItem", + "structure": { + "title": "ChatMessageContentItem", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItem", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItemText`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItemImage`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItemAudio`", + "line": 20 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItem1`", + "line": 26 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatMessageContentItemText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatMessageContentItemImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatMessageContentItemAudio = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatMessageContentItem1 = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 11, + "line_count": 32 + }, + "summary": "**ChatMessageContentItem**\nSections: Supported Types, `components.ChatMessageContentItemText`, `components.ChatMessageContentItemImage`, `components.ChatMessageContentItemAudio`, `components.ChatMessageContentItem1`\nContent part for chat completion messages\n(11 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/chatmessagecontentitem1.md", + "filename": "chatmessagecontentitem1.md", + "category": "other", + "size_bytes": 314, + "title": "ChatMessageContentItem1", + "structure": { + "title": "ChatMessageContentItem1", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItem1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItemVideoLegacy`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ChatMessageContentItemVideo`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatMessageContentItemVideoLegacy = /* values here */" + }, + { + "language": "python", + "code": "value: components.ChatMessageContentItemVideo = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ChatMessageContentItem1**\nSections: Supported Types, `components.ChatMessageContentItemVideoLegacy`, `components.ChatMessageContentItemVideo`\nvalue: components.ChatMessageContentItemVideoLegacy = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemaudio.md", + "filename": "chatmessagecontentitemaudio.md", + "category": "other", + "size_bytes": 1863, + "title": "ChatMessageContentItemAudio", + "structure": { + "title": "ChatMessageContentItemAudio", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemAudio", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatMessageContentItemAudio**\nSections: Fields\nAudio input content part. Supported audio formats vary by provider.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemaudioinputaudio.md", + "filename": "chatmessagecontentitemaudioinputaudio.md", + "category": "other", + "size_bytes": 1820, + "title": "ChatMessageContentItemAudioInputAudio", + "structure": { + "title": "ChatMessageContentItemAudioInputAudio", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemAudioInputAudio", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatMessageContentItemAudioInputAudio**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemaudiotype.md", + "filename": "chatmessagecontentitemaudiotype.md", + "category": "other", + "size_bytes": 148, + "title": "ChatMessageContentItemAudioType", + "structure": { + "title": "ChatMessageContentItemAudioType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemAudioType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemAudioType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_AUDIO` | input_audio |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemcachecontrol.md", + "filename": "chatmessagecontentitemcachecontrol.md", + "category": "other", + "size_bytes": 1869, + "title": "ChatMessageContentItemCacheControl", + "structure": { + "title": "ChatMessageContentItemCacheControl", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemCacheControl", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatMessageContentItemCacheControl**\nSections: Fields\nCache control for the content part\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemcachecontroltype.md", + "filename": "chatmessagecontentitemcachecontroltype.md", + "category": "other", + "size_bytes": 143, + "title": "ChatMessageContentItemCacheControlType", + "structure": { + "title": "ChatMessageContentItemCacheControlType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemCacheControlType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemCacheControlType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `EPHEMERAL` | ephemeral |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemimage.md", + "filename": "chatmessagecontentitemimage.md", + "category": "other", + "size_bytes": 1768, + "title": "ChatMessageContentItemImage", + "structure": { + "title": "ChatMessageContentItemImage", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemImage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatMessageContentItemImage**\nSections: Fields\nImage content part for vision models\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemimagedetail.md", + "filename": "chatmessagecontentitemimagedetail.md", + "category": "other", + "size_bytes": 186, + "title": "ChatMessageContentItemImageDetail", + "structure": { + "title": "ChatMessageContentItemImageDetail", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemImageDetail", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ChatMessageContentItemImageDetail**\nSections: Values\nImage detail level for vision models\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemimageimageurl.md", + "filename": "chatmessagecontentitemimageimageurl.md", + "category": "other", + "size_bytes": 1834, + "title": "ChatMessageContentItemImageImageURL", + "structure": { + "title": "ChatMessageContentItemImageImageURL", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemImageImageURL", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatMessageContentItemImageImageURL**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemimagetype.md", + "filename": "chatmessagecontentitemimagetype.md", + "category": "other", + "size_bytes": 136, + "title": "ChatMessageContentItemImageType", + "structure": { + "title": "ChatMessageContentItemImageType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemImageType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemImageType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `IMAGE_URL` | image_url |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemtext.md", + "filename": "chatmessagecontentitemtext.md", + "category": "other", + "size_bytes": 2895, + "title": "ChatMessageContentItemText", + "structure": { + "title": "ChatMessageContentItemText", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ChatMessageContentItemText**\nSections: Fields\nText content part\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemtexttype.md", + "filename": "chatmessagecontentitemtexttype.md", + "category": "other", + "size_bytes": 105, + "title": "ChatMessageContentItemTextType", + "structure": { + "title": "ChatMessageContentItemTextType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemTextType**\nSections: Values\n| Name | Value | | ------ | ------ | | `TEXT` | text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemvideo.md", + "filename": "chatmessagecontentitemvideo.md", + "category": "other", + "size_bytes": 1628, + "title": "ChatMessageContentItemVideo", + "structure": { + "title": "ChatMessageContentItemVideo", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemVideo", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatMessageContentItemVideo**\nSections: Fields\nVideo input content part\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemvideolegacy.md", + "filename": "chatmessagecontentitemvideolegacy.md", + "category": "other", + "size_bytes": 1979, + "title": "~~ChatMessageContentItemVideoLegacy~~", + "structure": { + "title": "~~ChatMessageContentItemVideoLegacy~~", + "headers": [ + { + "level": 1, + "text": "~~ChatMessageContentItemVideoLegacy~~", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 8 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 5, + "line_count": 13 + }, + "summary": "**~~ChatMessageContentItemVideoLegacy~~**\nSections: Fields\nVideo input content part (legacy format - deprecated)\n(5 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemvideolegacytype.md", + "filename": "chatmessagecontentitemvideolegacytype.md", + "category": "other", + "size_bytes": 154, + "title": "ChatMessageContentItemVideoLegacyType", + "structure": { + "title": "ChatMessageContentItemVideoLegacyType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemVideoLegacyType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemVideoLegacyType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_VIDEO` | input_video |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagecontentitemvideotype.md", + "filename": "chatmessagecontentitemvideotype.md", + "category": "other", + "size_bytes": 136, + "title": "ChatMessageContentItemVideoType", + "structure": { + "title": "ChatMessageContentItemVideoType", + "headers": [ + { + "level": 1, + "text": "ChatMessageContentItemVideoType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageContentItemVideoType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `VIDEO_URL` | video_url |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetokenlogprob.md", + "filename": "chatmessagetokenlogprob.md", + "category": "other", + "size_bytes": 2653, + "title": "ChatMessageTokenLogprob", + "structure": { + "title": "ChatMessageTokenLogprob", + "headers": [ + { + "level": 1, + "text": "ChatMessageTokenLogprob", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**ChatMessageTokenLogprob**\nSections: Fields\nToken log probability information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetokenlogprobs.md", + "filename": "chatmessagetokenlogprobs.md", + "category": "other", + "size_bytes": 1477, + "title": "ChatMessageTokenLogprobs", + "structure": { + "title": "ChatMessageTokenLogprobs", + "headers": [ + { + "level": 1, + "text": "ChatMessageTokenLogprobs", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatMessageTokenLogprobs**\nSections: Fields\nLog probabilities for the completion\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetokenlogprobtoplogprob.md", + "filename": "chatmessagetokenlogprobtoplogprob.md", + "category": "other", + "size_bytes": 478, + "title": "ChatMessageTokenLogprobTopLogprob", + "structure": { + "title": "ChatMessageTokenLogprobTopLogprob", + "headers": [ + { + "level": 1, + "text": "ChatMessageTokenLogprobTopLogprob", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ChatMessageTokenLogprobTopLogprob**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `token` | *str*...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetoolcall.md", + "filename": "chatmessagetoolcall.md", + "category": "other", + "size_bytes": 1857, + "title": "ChatMessageToolCall", + "structure": { + "title": "ChatMessageToolCall", + "headers": [ + { + "level": 1, + "text": "ChatMessageToolCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ChatMessageToolCall**\nSections: Fields\nTool call made by the assistant\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetoolcallfunction.md", + "filename": "chatmessagetoolcallfunction.md", + "category": "other", + "size_bytes": 626, + "title": "ChatMessageToolCallFunction", + "structure": { + "title": "ChatMessageToolCallFunction", + "headers": [ + { + "level": 1, + "text": "ChatMessageToolCallFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ChatMessageToolCallFunction**\nSections: Fields\n| Field | Type | Required | Description | | --------------------------------- | ----------------...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatmessagetoolcalltype.md", + "filename": "chatmessagetoolcalltype.md", + "category": "other", + "size_bytes": 122, + "title": "ChatMessageToolCallType", + "structure": { + "title": "ChatMessageToolCallType", + "headers": [ + { + "level": 1, + "text": "ChatMessageToolCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatMessageToolCallType**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatresponse.md", + "filename": "chatresponse.md", + "category": "other", + "size_bytes": 8031, + "title": "ChatResponse", + "structure": { + "title": "ChatResponse", + "headers": [ + { + "level": 1, + "text": "ChatResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 16 + }, + "summary": "**ChatResponse**\nSections: Fields\nChat completion response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatresponsechoice.md", + "filename": "chatresponsechoice.md", + "category": "other", + "size_bytes": 3619, + "title": "ChatResponseChoice", + "structure": { + "title": "ChatResponseChoice", + "headers": [ + { + "level": 1, + "text": "ChatResponseChoice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**ChatResponseChoice**\nSections: Fields\nChat completion choice\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatresponseobject.md", + "filename": "chatresponseobject.md", + "category": "other", + "size_bytes": 159, + "title": "ChatResponseObject", + "structure": { + "title": "ChatResponseObject", + "headers": [ + { + "level": 1, + "text": "ChatResponseObject", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatResponseObject**\nSections: Values\n| Name | Value | | ----------------- | ----------------- | | `CHAT_COMPLETION` | chat.completion |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingchoice.md", + "filename": "chatstreamingchoice.md", + "category": "other", + "size_bytes": 3631, + "title": "ChatStreamingChoice", + "structure": { + "title": "ChatStreamingChoice", + "headers": [ + { + "level": 1, + "text": "ChatStreamingChoice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**ChatStreamingChoice**\nSections: Fields\nStreaming completion choice chunk\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingmessagechunk.md", + "filename": "chatstreamingmessagechunk.md", + "category": "other", + "size_bytes": 4213, + "title": "ChatStreamingMessageChunk", + "structure": { + "title": "ChatStreamingMessageChunk", + "headers": [ + { + "level": 1, + "text": "ChatStreamingMessageChunk", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**ChatStreamingMessageChunk**\nSections: Fields\nDelta changes in streaming response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingmessagechunkrole.md", + "filename": "chatstreamingmessagechunkrole.md", + "category": "other", + "size_bytes": 166, + "title": "ChatStreamingMessageChunkRole", + "structure": { + "title": "ChatStreamingMessageChunkRole", + "headers": [ + { + "level": 1, + "text": "ChatStreamingMessageChunkRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ChatStreamingMessageChunkRole**\nSections: Values\nThe role of the message author\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingmessagetoolcall.md", + "filename": "chatstreamingmessagetoolcall.md", + "category": "other", + "size_bytes": 3606, + "title": "ChatStreamingMessageToolCall", + "structure": { + "title": "ChatStreamingMessageToolCall", + "headers": [ + { + "level": 1, + "text": "ChatStreamingMessageToolCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**ChatStreamingMessageToolCall**\nSections: Fields\nTool call delta for streaming responses\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingmessagetoolcallfunction.md", + "filename": "chatstreamingmessagetoolcallfunction.md", + "category": "other", + "size_bytes": 802, + "title": "ChatStreamingMessageToolCallFunction", + "structure": { + "title": "ChatStreamingMessageToolCallFunction", + "headers": [ + { + "level": 1, + "text": "ChatStreamingMessageToolCallFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ChatStreamingMessageToolCallFunction**\nSections: Fields\nFunction call details\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingmessagetoolcalltype.md", + "filename": "chatstreamingmessagetoolcalltype.md", + "category": "other", + "size_bytes": 147, + "title": "ChatStreamingMessageToolCallType", + "structure": { + "title": "ChatStreamingMessageToolCallType", + "headers": [ + { + "level": 1, + "text": "ChatStreamingMessageToolCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ChatStreamingMessageToolCallType**\nSections: Values\nTool call type\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingresponsechunk.md", + "filename": "chatstreamingresponsechunk.md", + "category": "other", + "size_bytes": 8934, + "title": "ChatStreamingResponseChunk", + "structure": { + "title": "ChatStreamingResponseChunk", + "headers": [ + { + "level": 1, + "text": "ChatStreamingResponseChunk", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 17 + }, + "summary": "**ChatStreamingResponseChunk**\nSections: Fields\nStreaming chat completion chunk\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamingresponsechunkobject.md", + "filename": "chatstreamingresponsechunkobject.md", + "category": "other", + "size_bytes": 209, + "title": "ChatStreamingResponseChunkObject", + "structure": { + "title": "ChatStreamingResponseChunkObject", + "headers": [ + { + "level": 1, + "text": "ChatStreamingResponseChunkObject", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ChatStreamingResponseChunkObject**\nSections: Values\n| Name | Value | | ----------------------- | ----------------------- | | `CHAT_COMPLETION_CHUNK` | chat.completion.chunk |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/chatstreamoptions.md", + "filename": "chatstreamoptions.md", + "category": "other", + "size_bytes": 3094, + "title": "ChatStreamOptions", + "structure": { + "title": "ChatStreamOptions", + "headers": [ + { + "level": 1, + "text": "ChatStreamOptions", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ChatStreamOptions**\nSections: Fields\nStreaming configuration options\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/code.md", + "filename": "code.md", + "category": "other", + "size_bytes": 1459, + "title": "Code", + "structure": { + "title": "Code", + "headers": [ + { + "level": 1, + "text": "Code", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 25 + }, + "summary": "**Code**\nSections: Values\n| Name | Value | | -------------------------------- | -------------------------------- | | `SERVER_ERROR` | server_error ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/completiontokensdetails.md", + "filename": "completiontokensdetails.md", + "category": "other", + "size_bytes": 827, + "title": "CompletionTokensDetails", + "structure": { + "title": "CompletionTokensDetails", + "headers": [ + { + "level": 1, + "text": "CompletionTokensDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**CompletionTokensDetails**\nSections: Fields\nDetailed completion token usage\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/costdetails.md", + "filename": "costdetails.md", + "category": "other", + "size_bytes": 736, + "title": "CostDetails", + "structure": { + "title": "CostDetails", + "headers": [ + { + "level": 1, + "text": "CostDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CostDetails**\nSections: Fields\n| Field | Type | Required | Description | | -------------------------------- | ---------------------...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/createchargerequest.md", + "filename": "createchargerequest.md", + "category": "other", + "size_bytes": 1069, + "title": "CreateChargeRequest", + "structure": { + "title": "CreateChargeRequest", + "headers": [ + { + "level": 1, + "text": "CreateChargeRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**CreateChargeRequest**\nSections: Fields\nCreate a Coinbase charge for crypto payment\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/data.md", + "filename": "data.md", + "category": "other", + "size_bytes": 568, + "title": "Data", + "structure": { + "title": "Data", + "headers": [ + { + "level": 1, + "text": "Data", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**Data**\nSections: Fields\nModel count data\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/datacollection.md", + "filename": "datacollection.md", + "category": "other", + "size_bytes": 385, + "title": "DataCollection", + "structure": { + "title": "DataCollection", + "headers": [ + { + "level": 1, + "text": "DataCollection", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 9 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 5, + "line_count": 14 + }, + "summary": "**DataCollection**\nSections: Values\nData collection setting. If no available model provider meets the requirement, your request will return an error. - allow: (default) allow providers which store user data non-transiently and may train...\n(5 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/debugoptions.md", + "filename": "debugoptions.md", + "category": "other", + "size_bytes": 2129, + "title": "DebugOptions", + "structure": { + "title": "DebugOptions", + "headers": [ + { + "level": 1, + "text": "DebugOptions", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**DebugOptions**\nSections: Fields\nDebug options for inspecting request transformations (streaming only)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/defaultparameters.md", + "filename": "defaultparameters.md", + "category": "other", + "size_bytes": 637, + "title": "DefaultParameters", + "structure": { + "title": "DefaultParameters", + "headers": [ + { + "level": 1, + "text": "DefaultParameters", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**DefaultParameters**\nSections: Fields\nDefault parameters for this model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/developermessage.md", + "filename": "developermessage.md", + "category": "other", + "size_bytes": 2085, + "title": "DeveloperMessage", + "structure": { + "title": "DeveloperMessage", + "headers": [ + { + "level": 1, + "text": "DeveloperMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**DeveloperMessage**\nSections: Fields\nDeveloper message\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/developermessagecontent.md", + "filename": "developermessagecontent.md", + "category": "other", + "size_bytes": 269, + "title": "DeveloperMessageContent", + "structure": { + "title": "DeveloperMessageContent", + "headers": [ + { + "level": 1, + "text": "DeveloperMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.ChatMessageContentItemText]`", + "line": 14 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.ChatMessageContentItemText] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 7, + "line_count": 20 + }, + "summary": "**DeveloperMessageContent**\nSections: Supported Types, `str`, `List[components.ChatMessageContentItemText]`\nDeveloper message content\n(7 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/developermessagerole.md", + "filename": "developermessagerole.md", + "category": "other", + "size_bytes": 125, + "title": "DeveloperMessageRole", + "structure": { + "title": "DeveloperMessageRole", + "headers": [ + { + "level": 1, + "text": "DeveloperMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**DeveloperMessageRole**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `DEVELOPER` | developer |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/edgenetworktimeoutresponseerrordata.md", + "filename": "edgenetworktimeoutresponseerrordata.md", + "category": "other", + "size_bytes": 683, + "title": "EdgeNetworkTimeoutResponseErrorData", + "structure": { + "title": "EdgeNetworkTimeoutResponseErrorData", + "headers": [ + { + "level": 1, + "text": "EdgeNetworkTimeoutResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**EdgeNetworkTimeoutResponseErrorData**\nSections: Fields\nError data for EdgeNetworkTimeoutResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/effort.md", + "filename": "effort.md", + "category": "other", + "size_bytes": 282, + "title": "Effort", + "structure": { + "title": "Effort", + "headers": [ + { + "level": 1, + "text": "Effort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**Effort**\nSections: Values\nConstrains effort on reasoning for reasoning models\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/endpointstatus.md", + "filename": "endpointstatus.md", + "category": "other", + "size_bytes": 253, + "title": "EndpointStatus", + "structure": { + "title": "EndpointStatus", + "headers": [ + { + "level": 1, + "text": "EndpointStatus", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**EndpointStatus**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `ZERO` | 0 | | `MINUS_1` | -1 | | `MINUS_2` | -2 | | `MINUS_3` | -3 | | `MINUS_5` | -5 | | `M...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/error.md", + "filename": "error.md", + "category": "other", + "size_bytes": 487, + "title": "Error", + "structure": { + "title": "Error", + "headers": [ + { + "level": 1, + "text": "Error", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**Error**\nSections: Fields\nError information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/filecitation.md", + "filename": "filecitation.md", + "category": "other", + "size_bytes": 1647, + "title": "FileCitation", + "structure": { + "title": "FileCitation", + "headers": [ + { + "level": 1, + "text": "FileCitation", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**FileCitation**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/filecitationtype.md", + "filename": "filecitationtype.md", + "category": "other", + "size_bytes": 145, + "title": "FileCitationType", + "structure": { + "title": "FileCitationType", + "headers": [ + { + "level": 1, + "text": "FileCitationType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**FileCitationType**\nSections: Values\n| Name | Value | | --------------- | --------------- | | `FILE_CITATION` | file_citation |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/filepath.md", + "filename": "filepath.md", + "category": "other", + "size_bytes": 1213, + "title": "FilePath", + "structure": { + "title": "FilePath", + "headers": [ + { + "level": 1, + "text": "FilePath", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**FilePath**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/filepathtype.md", + "filename": "filepathtype.md", + "category": "other", + "size_bytes": 117, + "title": "FilePathType", + "structure": { + "title": "FilePathType", + "headers": [ + { + "level": 1, + "text": "FilePathType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**FilePathType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `FILE_PATH` | file_path |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/forbiddenresponseerrordata.md", + "filename": "forbiddenresponseerrordata.md", + "category": "other", + "size_bytes": 665, + "title": "ForbiddenResponseErrorData", + "structure": { + "title": "ForbiddenResponseErrorData", + "headers": [ + { + "level": 1, + "text": "ForbiddenResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ForbiddenResponseErrorData**\nSections: Fields\nError data for ForbiddenResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/ignore.md", + "filename": "ignore.md", + "category": "other", + "size_bytes": 185, + "title": "Ignore", + "structure": { + "title": "Ignore", + "headers": [ + { + "level": 1, + "text": "Ignore", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Ignore**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/imagegenerationstatus.md", + "filename": "imagegenerationstatus.md", + "category": "other", + "size_bytes": 240, + "title": "ImageGenerationStatus", + "structure": { + "title": "ImageGenerationStatus", + "headers": [ + { + "level": 1, + "text": "ImageGenerationStatus", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ImageGenerationStatus**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress | | `COMPLETED` | completed | | `GENERATING` | generating | | `FAILED` | failed ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/inputmodality.md", + "filename": "inputmodality.md", + "category": "other", + "size_bytes": 182, + "title": "InputModality", + "structure": { + "title": "InputModality", + "headers": [ + { + "level": 1, + "text": "InputModality", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**InputModality**\nSections: Values\n| Name | Value | | ------- | ------- | | `TEXT` | text | | `IMAGE` | image | | `FILE` | file | | `AUDIO` | audio | | `VIDEO` | video |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/inputtokensdetails.md", + "filename": "inputtokensdetails.md", + "category": "other", + "size_bytes": 291, + "title": "InputTokensDetails", + "structure": { + "title": "InputTokensDetails", + "headers": [ + { + "level": 1, + "text": "InputTokensDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**InputTokensDetails**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `cached_tokens` | *floa...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/instructtype.md", + "filename": "instructtype.md", + "category": "other", + "size_bytes": 964, + "title": "InstructType", + "structure": { + "title": "InstructType", + "headers": [ + { + "level": 1, + "text": "InstructType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 31 + }, + "summary": "**InstructType**\nSections: Values\nInstruction format type\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/internalserverresponseerrordata.md", + "filename": "internalserverresponseerrordata.md", + "category": "other", + "size_bytes": 675, + "title": "InternalServerResponseErrorData", + "structure": { + "title": "InternalServerResponseErrorData", + "headers": [ + { + "level": 1, + "text": "InternalServerResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**InternalServerResponseErrorData**\nSections: Fields\nError data for InternalServerResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/jsonschemaconfig.md", + "filename": "jsonschemaconfig.md", + "category": "other", + "size_bytes": 3087, + "title": "JSONSchemaConfig", + "structure": { + "title": "JSONSchemaConfig", + "headers": [ + { + "level": 1, + "text": "JSONSchemaConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**JSONSchemaConfig**\nSections: Fields\nJSON Schema configuration object\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/listendpointsresponse.md", + "filename": "listendpointsresponse.md", + "category": "other", + "size_bytes": 6053, + "title": "ListEndpointsResponse", + "structure": { + "title": "ListEndpointsResponse", + "headers": [ + { + "level": 1, + "text": "ListEndpointsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**ListEndpointsResponse**\nSections: Fields\nList of available endpoints for a model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/logprob.md", + "filename": "logprob.md", + "category": "other", + "size_bytes": 2362, + "title": "Logprob", + "structure": { + "title": "Logprob", + "headers": [ + { + "level": 1, + "text": "Logprob", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**Logprob**\nSections: Fields\n| Field | Type | Requ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/message.md", + "filename": "message.md", + "category": "other", + "size_bytes": 603, + "title": "Message", + "structure": { + "title": "Message", + "headers": [ + { + "level": 1, + "text": "Message", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.SystemMessage`", + "line": 8 + }, + { + "level": 3, + "text": "`components.UserMessage`", + "line": 14 + }, + { + "level": 3, + "text": "`components.DeveloperMessage`", + "line": 20 + }, + { + "level": 3, + "text": "`components.AssistantMessage`", + "line": 26 + }, + { + "level": 3, + "text": "`components.ToolResponseMessage`", + "line": 32 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.SystemMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.UserMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.DeveloperMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.AssistantMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ToolResponseMessage = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 13, + "line_count": 38 + }, + "summary": "**Message**\nSections: Supported Types, `components.SystemMessage`, `components.UserMessage`, `components.DeveloperMessage`, `components.AssistantMessage`\nChat completion message with role-based discrimination\n(13 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.3 + } + } + }, + { + "path": "docs/components/modality.md", + "filename": "modality.md", + "category": "other", + "size_bytes": 111, + "title": "Modality", + "structure": { + "title": "Modality", + "headers": [ + { + "level": 1, + "text": "Modality", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**Modality**\nSections: Values\n| Name | Value | | ------- | ------- | | `TEXT` | text | | `IMAGE` | image |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/model.md", + "filename": "model.md", + "category": "other", + "size_bytes": 11987, + "title": "Model", + "structure": { + "title": "Model", + "headers": [ + { + "level": 1, + "text": "Model", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 23 + }, + "summary": "**Model**\nSections: Fields\nInformation about an AI model available on OpenRouter\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/modelarchitecture.md", + "filename": "modelarchitecture.md", + "category": "other", + "size_bytes": 3963, + "title": "ModelArchitecture", + "structure": { + "title": "ModelArchitecture", + "headers": [ + { + "level": 1, + "text": "ModelArchitecture", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ModelArchitecture**\nSections: Fields\nModel architecture information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/modelarchitectureinstructtype.md", + "filename": "modelarchitectureinstructtype.md", + "category": "other", + "size_bytes": 981, + "title": "ModelArchitectureInstructType", + "structure": { + "title": "ModelArchitectureInstructType", + "headers": [ + { + "level": 1, + "text": "ModelArchitectureInstructType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 31 + }, + "summary": "**ModelArchitectureInstructType**\nSections: Values\nInstruction format type\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/modelgroup.md", + "filename": "modelgroup.md", + "category": "other", + "size_bytes": 689, + "title": "ModelGroup", + "structure": { + "title": "ModelGroup", + "headers": [ + { + "level": 1, + "text": "ModelGroup", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 28 + }, + "summary": "**ModelGroup**\nSections: Values\nTokenizer type used by the model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/modelscountresponse.md", + "filename": "modelscountresponse.md", + "category": "other", + "size_bytes": 703, + "title": "ModelsCountResponse", + "structure": { + "title": "ModelsCountResponse", + "headers": [ + { + "level": 1, + "text": "ModelsCountResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ModelsCountResponse**\nSections: Fields\nModel count data\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/modelslistresponse.md", + "filename": "modelslistresponse.md", + "category": "other", + "size_bytes": 677, + "title": "ModelsListResponse", + "structure": { + "title": "ModelsListResponse", + "headers": [ + { + "level": 1, + "text": "ModelsListResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ModelsListResponse**\nSections: Fields\nList of available models\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/namedtoolchoice.md", + "filename": "namedtoolchoice.md", + "category": "other", + "size_bytes": 1375, + "title": "NamedToolChoice", + "structure": { + "title": "NamedToolChoice", + "headers": [ + { + "level": 1, + "text": "NamedToolChoice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**NamedToolChoice**\nSections: Fields\nNamed tool choice for specific function\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/namedtoolchoicefunction.md", + "filename": "namedtoolchoicefunction.md", + "category": "other", + "size_bytes": 404, + "title": "NamedToolChoiceFunction", + "structure": { + "title": "NamedToolChoiceFunction", + "headers": [ + { + "level": 1, + "text": "NamedToolChoiceFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**NamedToolChoiceFunction**\nSections: Fields\n| Field | Type | Required | Description | Example | | --------------------- | --------------------- | --------------------- | ----...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/namedtoolchoicetype.md", + "filename": "namedtoolchoicetype.md", + "category": "other", + "size_bytes": 118, + "title": "NamedToolChoiceType", + "structure": { + "title": "NamedToolChoiceType", + "headers": [ + { + "level": 1, + "text": "NamedToolChoiceType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**NamedToolChoiceType**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/notfoundresponseerrordata.md", + "filename": "notfoundresponseerrordata.md", + "category": "other", + "size_bytes": 663, + "title": "NotFoundResponseErrorData", + "structure": { + "title": "NotFoundResponseErrorData", + "headers": [ + { + "level": 1, + "text": "NotFoundResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**NotFoundResponseErrorData**\nSections: Fields\nError data for NotFoundResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/only.md", + "filename": "only.md", + "category": "other", + "size_bytes": 183, + "title": "Only", + "structure": { + "title": "Only", + "headers": [ + { + "level": 1, + "text": "Only", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Only**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openairesponsesannotation.md", + "filename": "openairesponsesannotation.md", + "category": "other", + "size_bytes": 331, + "title": "OpenAIResponsesAnnotation", + "structure": { + "title": "OpenAIResponsesAnnotation", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesAnnotation", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.FileCitation`", + "line": 6 + }, + { + "level": 3, + "text": "`components.URLCitation`", + "line": 12 + }, + { + "level": 3, + "text": "`components.FilePath`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.FileCitation = /* values here */" + }, + { + "language": "python", + "code": "value: components.URLCitation = /* values here */" + }, + { + "language": "python", + "code": "value: components.FilePath = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OpenAIResponsesAnnotation**\nSections: Supported Types, `components.FileCitation`, `components.URLCitation`, `components.FilePath`\nvalue: components.FileCitation = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.833333333333333 + } + } + }, + { + "path": "docs/components/openairesponsesincludable.md", + "filename": "openairesponsesincludable.md", + "category": "other", + "size_bytes": 642, + "title": "OpenAIResponsesIncludable", + "structure": { + "title": "OpenAIResponsesIncludable", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesIncludable", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**OpenAIResponsesIncludable**\nSections: Values\n| Name | Value | | --------------------------------------- | --------------------------------------- | | `FILE_SEARCH_CALL_RESULTS`...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesincompletedetails.md", + "filename": "openairesponsesincompletedetails.md", + "category": "other", + "size_bytes": 737, + "title": "OpenAIResponsesIncompleteDetails", + "structure": { + "title": "OpenAIResponsesIncompleteDetails", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesIncompleteDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesIncompleteDetails**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputcontent1.md", + "filename": "openairesponsesinputcontent1.md", + "category": "other", + "size_bytes": 485, + "title": "OpenAIResponsesInputContent1", + "structure": { + "title": "OpenAIResponsesInputContent1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputContent1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseInputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponseInputImage`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponseInputFile`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ResponseInputAudio`", + "line": 24 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseInputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputFile = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputAudio = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 10, + "line_count": 30 + }, + "summary": "**OpenAIResponsesInputContent1**\nSections: Supported Types, `components.ResponseInputText`, `components.ResponseInputImage`, `components.ResponseInputFile`, `components.ResponseInputAudio`\nvalue: components.ResponseInputText = /* values here */\n(10 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsesinputcontent2.md", + "filename": "openairesponsesinputcontent2.md", + "category": "other", + "size_bytes": 251, + "title": "OpenAIResponsesInputContent2", + "structure": { + "title": "OpenAIResponsesInputContent2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputContent2", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`List[components.OpenAIResponsesInputContent1]`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: List[components.OpenAIResponsesInputContent1] = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenAIResponsesInputContent2**\nSections: Supported Types, `List[components.OpenAIResponsesInputContent1]`, `str`\nvalue: List[components.OpenAIResponsesInputContent1] = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openairesponsesinputcontent3.md", + "filename": "openairesponsesinputcontent3.md", + "category": "other", + "size_bytes": 485, + "title": "OpenAIResponsesInputContent3", + "structure": { + "title": "OpenAIResponsesInputContent3", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputContent3", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseInputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponseInputImage`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponseInputFile`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ResponseInputAudio`", + "line": 24 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseInputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputFile = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputAudio = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 10, + "line_count": 30 + }, + "summary": "**OpenAIResponsesInputContent3**\nSections: Supported Types, `components.ResponseInputText`, `components.ResponseInputImage`, `components.ResponseInputFile`, `components.ResponseInputAudio`\nvalue: components.ResponseInputText = /* values here */\n(10 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsesinputfunctioncall.md", + "filename": "openairesponsesinputfunctioncall.md", + "category": "other", + "size_bytes": 4343, + "title": "OpenAIResponsesInputFunctionCall", + "structure": { + "title": "OpenAIResponsesInputFunctionCall", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputFunctionCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**OpenAIResponsesInputFunctionCall**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputfunctioncalloutput.md", + "filename": "openairesponsesinputfunctioncalloutput.md", + "category": "other", + "size_bytes": 4232, + "title": "OpenAIResponsesInputFunctionCallOutput", + "structure": { + "title": "OpenAIResponsesInputFunctionCallOutput", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputFunctionCallOutput", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**OpenAIResponsesInputFunctionCallOutput**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputmessage1.md", + "filename": "openairesponsesinputmessage1.md", + "category": "other", + "size_bytes": 2233, + "title": "OpenAIResponsesInputMessage1", + "structure": { + "title": "OpenAIResponsesInputMessage1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputMessage1", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenAIResponsesInputMessage1**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputmessage2.md", + "filename": "openairesponsesinputmessage2.md", + "category": "other", + "size_bytes": 2671, + "title": "OpenAIResponsesInputMessage2", + "structure": { + "title": "OpenAIResponsesInputMessage2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputMessage2", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**OpenAIResponsesInputMessage2**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputroleassistant.md", + "filename": "openairesponsesinputroleassistant.md", + "category": "other", + "size_bytes": 138, + "title": "OpenAIResponsesInputRoleAssistant", + "structure": { + "title": "OpenAIResponsesInputRoleAssistant", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleAssistant", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleAssistant**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `ASSISTANT` | assistant |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputroledeveloper1.md", + "filename": "openairesponsesinputroledeveloper1.md", + "category": "other", + "size_bytes": 139, + "title": "OpenAIResponsesInputRoleDeveloper1", + "structure": { + "title": "OpenAIResponsesInputRoleDeveloper1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleDeveloper1", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleDeveloper1**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `DEVELOPER` | developer |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputroledeveloper2.md", + "filename": "openairesponsesinputroledeveloper2.md", + "category": "other", + "size_bytes": 139, + "title": "OpenAIResponsesInputRoleDeveloper2", + "structure": { + "title": "OpenAIResponsesInputRoleDeveloper2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleDeveloper2", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleDeveloper2**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `DEVELOPER` | developer |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputrolesystem1.md", + "filename": "openairesponsesinputrolesystem1.md", + "category": "other", + "size_bytes": 118, + "title": "OpenAIResponsesInputRoleSystem1", + "structure": { + "title": "OpenAIResponsesInputRoleSystem1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleSystem1", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleSystem1**\nSections: Values\n| Name | Value | | -------- | -------- | | `SYSTEM` | system |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputrolesystem2.md", + "filename": "openairesponsesinputrolesystem2.md", + "category": "other", + "size_bytes": 118, + "title": "OpenAIResponsesInputRoleSystem2", + "structure": { + "title": "OpenAIResponsesInputRoleSystem2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleSystem2", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleSystem2**\nSections: Values\n| Name | Value | | -------- | -------- | | `SYSTEM` | system |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputroleunion1.md", + "filename": "openairesponsesinputroleunion1.md", + "category": "other", + "size_bytes": 601, + "title": "OpenAIResponsesInputRoleUnion1", + "structure": { + "title": "OpenAIResponsesInputRoleUnion1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleUnion1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleUser1`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleSystem1`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleAssistant`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleDeveloper1`", + "line": 24 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleUser1 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleSystem1 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleAssistant = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleDeveloper1 = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 10, + "line_count": 30 + }, + "summary": "**OpenAIResponsesInputRoleUnion1**\nSections: Supported Types, `components.OpenAIResponsesInputRoleUser1`, `components.OpenAIResponsesInputRoleSystem1`, `components.OpenAIResponsesInputRoleAssistant`, `components.OpenAIResponsesInputRoleDeveloper1`\nvalue: components.OpenAIResponsesInputRoleUser1 = /* values here */\n(10 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsesinputroleunion2.md", + "filename": "openairesponsesinputroleunion2.md", + "category": "other", + "size_bytes": 462, + "title": "OpenAIResponsesInputRoleUnion2", + "structure": { + "title": "OpenAIResponsesInputRoleUnion2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleUnion2", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleUser2`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleSystem2`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputRoleDeveloper2`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleUser2 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleSystem2 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputRoleDeveloper2 = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OpenAIResponsesInputRoleUnion2**\nSections: Supported Types, `components.OpenAIResponsesInputRoleUser2`, `components.OpenAIResponsesInputRoleSystem2`, `components.OpenAIResponsesInputRoleDeveloper2`\nvalue: components.OpenAIResponsesInputRoleUser2 = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsesinputroleuser1.md", + "filename": "openairesponsesinputroleuser1.md", + "category": "other", + "size_bytes": 104, + "title": "OpenAIResponsesInputRoleUser1", + "structure": { + "title": "OpenAIResponsesInputRoleUser1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleUser1", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleUser1**\nSections: Values\n| Name | Value | | ------ | ------ | | `USER` | user |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputroleuser2.md", + "filename": "openairesponsesinputroleuser2.md", + "category": "other", + "size_bytes": 104, + "title": "OpenAIResponsesInputRoleUser2", + "structure": { + "title": "OpenAIResponsesInputRoleUser2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputRoleUser2", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputRoleUser2**\nSections: Values\n| Name | Value | | ------ | ------ | | `USER` | user |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputtypefunctioncall.md", + "filename": "openairesponsesinputtypefunctioncall.md", + "category": "other", + "size_bytes": 165, + "title": "OpenAIResponsesInputTypeFunctionCall", + "structure": { + "title": "OpenAIResponsesInputTypeFunctionCall", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputTypeFunctionCall", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputTypeFunctionCall**\nSections: Values\n| Name | Value | | --------------- | --------------- | | `FUNCTION_CALL` | function_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputtypefunctioncalloutput.md", + "filename": "openairesponsesinputtypefunctioncalloutput.md", + "category": "other", + "size_bytes": 213, + "title": "OpenAIResponsesInputTypeFunctionCallOutput", + "structure": { + "title": "OpenAIResponsesInputTypeFunctionCallOutput", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputTypeFunctionCallOutput", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputTypeFunctionCallOutput**\nSections: Values\n| Name | Value | | ---------------------- | ---------------------- | | `FUNCTION_CALL_OUTPUT` | function_call_output |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputtypemessage1.md", + "filename": "openairesponsesinputtypemessage1.md", + "category": "other", + "size_bytes": 125, + "title": "OpenAIResponsesInputTypeMessage1", + "structure": { + "title": "OpenAIResponsesInputTypeMessage1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputTypeMessage1", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputTypeMessage1**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputtypemessage2.md", + "filename": "openairesponsesinputtypemessage2.md", + "category": "other", + "size_bytes": 125, + "title": "OpenAIResponsesInputTypeMessage2", + "structure": { + "title": "OpenAIResponsesInputTypeMessage2", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputTypeMessage2", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesInputTypeMessage2**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesinputunion.md", + "filename": "openairesponsesinputunion.md", + "category": "other", + "size_bytes": 301, + "title": "OpenAIResponsesInputUnion", + "structure": { + "title": "OpenAIResponsesInputUnion", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`str`", + "line": 6 + }, + { + "level": 3, + "text": "`List[components.OpenAIResponsesInputUnion1]`", + "line": 12 + }, + { + "level": 3, + "text": "`Any`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.OpenAIResponsesInputUnion1] = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OpenAIResponsesInputUnion**\nSections: Supported Types, `str`, `List[components.OpenAIResponsesInputUnion1]`, `Any`\nvalue: str = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.833333333333333 + } + } + }, + { + "path": "docs/components/openairesponsesinputunion1.md", + "filename": "openairesponsesinputunion1.md", + "category": "other", + "size_bytes": 825, + "title": "OpenAIResponsesInputUnion1", + "structure": { + "title": "OpenAIResponsesInputUnion1", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesInputUnion1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputMessage1`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputMessage2`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputFunctionCallOutput`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesInputFunctionCall`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OutputItemImageGenerationCall`", + "line": 30 + }, + { + "level": 3, + "text": "`components.OutputMessage`", + "line": 36 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenAIResponsesInputMessage1 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputMessage2 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputFunctionCallOutput = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesInputFunctionCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.OutputItemImageGenerationCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.OutputMessage = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 14, + "line_count": 42 + }, + "summary": "**OpenAIResponsesInputUnion1**\nSections: Supported Types, `components.OpenAIResponsesInputMessage1`, `components.OpenAIResponsesInputMessage2`, `components.OpenAIResponsesInputFunctionCallOutput`, `components.OpenAIResponsesInputFunctionCall`\nvalue: components.OpenAIResponsesInputMessage1 = /* values here */\n(14 words, 6 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 6, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsesprompt.md", + "filename": "openairesponsesprompt.md", + "category": "other", + "size_bytes": 1068, + "title": "OpenAIResponsesPrompt", + "structure": { + "title": "OpenAIResponsesPrompt", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesPrompt", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenAIResponsesPrompt**\nSections: Fields\n| Field | Type | Required | Descri...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesreasoningconfig.md", + "filename": "openairesponsesreasoningconfig.md", + "category": "other", + "size_bytes": 2313, + "title": "OpenAIResponsesReasoningConfig", + "structure": { + "title": "OpenAIResponsesReasoningConfig", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesReasoningConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenAIResponsesReasoningConfig**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesreasoningeffort.md", + "filename": "openairesponsesreasoningeffort.md", + "category": "other", + "size_bytes": 253, + "title": "OpenAIResponsesReasoningEffort", + "structure": { + "title": "OpenAIResponsesReasoningEffort", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesReasoningEffort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**OpenAIResponsesReasoningEffort**\nSections: Values\n| Name | Value | | --------- | --------- | | `XHIGH` | xhigh | | `HIGH` | high | | `MEDIUM` | medium | | `LOW` | low | | `MINIMAL` | minimal | | `NONE` | none...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesrefusalcontent.md", + "filename": "openairesponsesrefusalcontent.md", + "category": "other", + "size_bytes": 1668, + "title": "OpenAIResponsesRefusalContent", + "structure": { + "title": "OpenAIResponsesRefusalContent", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesRefusalContent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenAIResponsesRefusalContent**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesrefusalcontenttype.md", + "filename": "openairesponsesrefusalcontenttype.md", + "category": "other", + "size_bytes": 126, + "title": "OpenAIResponsesRefusalContentType", + "structure": { + "title": "OpenAIResponsesRefusalContentType", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesRefusalContentType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesRefusalContentType**\nSections: Values\n| Name | Value | | --------- | --------- | | `REFUSAL` | refusal |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesresponsestatus.md", + "filename": "openairesponsesresponsestatus.md", + "category": "other", + "size_bytes": 316, + "title": "OpenAIResponsesResponseStatus", + "structure": { + "title": "OpenAIResponsesResponseStatus", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesResponseStatus", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**OpenAIResponsesResponseStatus**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `COMPLETED` | completed | | `INCOMPLETE` | incomplete | | `IN_PROGRESS` | in_progress | | `FAILED` | failed ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsesservicetier.md", + "filename": "openairesponsesservicetier.md", + "category": "other", + "size_bytes": 237, + "title": "OpenAIResponsesServiceTier", + "structure": { + "title": "OpenAIResponsesServiceTier", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesServiceTier", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**OpenAIResponsesServiceTier**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `AUTO` | auto | | `DEFAULT` | default | | `FLEX` | flex | | `PRIORITY` | priority | | `SCALE` | scale |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoice.md", + "filename": "openairesponsestoolchoice.md", + "category": "other", + "size_bytes": 562, + "title": "OpenAIResponsesToolChoice", + "structure": { + "title": "OpenAIResponsesToolChoice", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoice**\nSections: Fields\n| Field | Type | Required | Description | | ------------------------...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoiceauto.md", + "filename": "openairesponsestoolchoiceauto.md", + "category": "other", + "size_bytes": 104, + "title": "OpenAIResponsesToolChoiceAuto", + "structure": { + "title": "OpenAIResponsesToolChoiceAuto", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceAuto", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceAuto**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicefunction.md", + "filename": "openairesponsestoolchoicefunction.md", + "category": "other", + "size_bytes": 1800, + "title": "OpenAIResponsesToolChoiceFunction", + "structure": { + "title": "OpenAIResponsesToolChoiceFunction", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenAIResponsesToolChoiceFunction**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicenone.md", + "filename": "openairesponsestoolchoicenone.md", + "category": "other", + "size_bytes": 104, + "title": "OpenAIResponsesToolChoiceNone", + "structure": { + "title": "OpenAIResponsesToolChoiceNone", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceNone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceNone**\nSections: Values\n| Name | Value | | ------ | ------ | | `NONE` | none |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicerequired.md", + "filename": "openairesponsestoolchoicerequired.md", + "category": "other", + "size_bytes": 132, + "title": "OpenAIResponsesToolChoiceRequired", + "structure": { + "title": "OpenAIResponsesToolChoiceRequired", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceRequired", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceRequired**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `REQUIRED` | required |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicetypefunction.md", + "filename": "openairesponsestoolchoicetypefunction.md", + "category": "other", + "size_bytes": 136, + "title": "OpenAIResponsesToolChoiceTypeFunction", + "structure": { + "title": "OpenAIResponsesToolChoiceTypeFunction", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceTypeFunction", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceTypeFunction**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicetypewebsearchpreview.md", + "filename": "openairesponsestoolchoicetypewebsearchpreview.md", + "category": "other", + "size_bytes": 204, + "title": "OpenAIResponsesToolChoiceTypeWebSearchPreview", + "structure": { + "title": "OpenAIResponsesToolChoiceTypeWebSearchPreview", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceTypeWebSearchPreview", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceTypeWebSearchPreview**\nSections: Values\n| Name | Value | | -------------------- | -------------------- | | `WEB_SEARCH_PREVIEW` | web_search_preview |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoicetypewebsearchpreview20250311.md", + "filename": "openairesponsestoolchoicetypewebsearchpreview20250311.md", + "category": "other", + "size_bytes": 278, + "title": "OpenAIResponsesToolChoiceTypeWebSearchPreview20250311", + "structure": { + "title": "OpenAIResponsesToolChoiceTypeWebSearchPreview20250311", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceTypeWebSearchPreview20250311", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenAIResponsesToolChoiceTypeWebSearchPreview20250311**\nSections: Values\n| Name | Value | | ------------------------------- | ------------------------------- | | `WEB_SEARCH_PREVIEW_2025_03_11` | web_search_preview_2025_...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openairesponsestoolchoiceunion.md", + "filename": "openairesponsestoolchoiceunion.md", + "category": "other", + "size_bytes": 718, + "title": "OpenAIResponsesToolChoiceUnion", + "structure": { + "title": "OpenAIResponsesToolChoiceUnion", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesToolChoiceUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceAuto`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceNone`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceRequired`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceFunction`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoice`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceAuto = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceNone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceRequired = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceFunction = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoice = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenAIResponsesToolChoiceUnion**\nSections: Supported Types, `components.OpenAIResponsesToolChoiceAuto`, `components.OpenAIResponsesToolChoiceNone`, `components.OpenAIResponsesToolChoiceRequired`, `components.OpenAIResponsesToolChoiceFunction`\nvalue: components.OpenAIResponsesToolChoiceAuto = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openairesponsestruncation.md", + "filename": "openairesponsestruncation.md", + "category": "other", + "size_bytes": 152, + "title": "OpenAIResponsesTruncation", + "structure": { + "title": "OpenAIResponsesTruncation", + "headers": [ + { + "level": 1, + "text": "OpenAIResponsesTruncation", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenAIResponsesTruncation**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `AUTO` | auto | | `DISABLED` | disabled |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessage.md", + "filename": "openresponseseasyinputmessage.md", + "category": "other", + "size_bytes": 2554, + "title": "OpenResponsesEasyInputMessage", + "structure": { + "title": "OpenResponsesEasyInputMessage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesEasyInputMessage**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagecontentinputimage.md", + "filename": "openresponseseasyinputmessagecontentinputimage.md", + "category": "other", + "size_bytes": 2397, + "title": "OpenResponsesEasyInputMessageContentInputImage", + "structure": { + "title": "OpenResponsesEasyInputMessageContentInputImage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageContentInputImage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesEasyInputMessageContentInputImage**\nSections: Fields\nImage input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagecontenttype.md", + "filename": "openresponseseasyinputmessagecontenttype.md", + "category": "other", + "size_bytes": 157, + "title": "OpenResponsesEasyInputMessageContentType", + "structure": { + "title": "OpenResponsesEasyInputMessageContentType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageContentType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageContentType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_IMAGE` | input_image |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagecontentunion1.md", + "filename": "openresponseseasyinputmessagecontentunion1.md", + "category": "other", + "size_bytes": 664, + "title": "OpenResponsesEasyInputMessageContentUnion1", + "structure": { + "title": "OpenResponsesEasyInputMessageContentUnion1", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageContentUnion1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseInputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessageContentInputImage`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponseInputFile`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ResponseInputAudio`", + "line": 24 + }, + { + "level": 3, + "text": "`components.ResponseInputVideo`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseInputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessageContentInputImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputFile = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputAudio = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputVideo = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenResponsesEasyInputMessageContentUnion1**\nSections: Supported Types, `components.ResponseInputText`, `components.OpenResponsesEasyInputMessageContentInputImage`, `components.ResponseInputFile`, `components.ResponseInputAudio`\nvalue: components.ResponseInputText = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagecontentunion2.md", + "filename": "openresponseseasyinputmessagecontentunion2.md", + "category": "other", + "size_bytes": 293, + "title": "OpenResponsesEasyInputMessageContentUnion2", + "structure": { + "title": "OpenResponsesEasyInputMessageContentUnion2", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageContentUnion2", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`List[components.OpenResponsesEasyInputMessageContentUnion1]`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: List[components.OpenResponsesEasyInputMessageContentUnion1] = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenResponsesEasyInputMessageContentUnion2**\nSections: Supported Types, `List[components.OpenResponsesEasyInputMessageContentUnion1]`, `str`\nvalue: List[components.OpenResponsesEasyInputMessageContentUnion1] = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagedetail.md", + "filename": "openresponseseasyinputmessagedetail.md", + "category": "other", + "size_bytes": 150, + "title": "OpenResponsesEasyInputMessageDetail", + "structure": { + "title": "OpenResponsesEasyInputMessageDetail", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageDetail", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesEasyInputMessageDetail**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto | | `HIGH` | high | | `LOW` | low |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessageroleassistant.md", + "filename": "openresponseseasyinputmessageroleassistant.md", + "category": "other", + "size_bytes": 147, + "title": "OpenResponsesEasyInputMessageRoleAssistant", + "structure": { + "title": "OpenResponsesEasyInputMessageRoleAssistant", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageRoleAssistant", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageRoleAssistant**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `ASSISTANT` | assistant |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessageroledeveloper.md", + "filename": "openresponseseasyinputmessageroledeveloper.md", + "category": "other", + "size_bytes": 147, + "title": "OpenResponsesEasyInputMessageRoleDeveloper", + "structure": { + "title": "OpenResponsesEasyInputMessageRoleDeveloper", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageRoleDeveloper", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageRoleDeveloper**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `DEVELOPER` | developer |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagerolesystem.md", + "filename": "openresponseseasyinputmessagerolesystem.md", + "category": "other", + "size_bytes": 126, + "title": "OpenResponsesEasyInputMessageRoleSystem", + "structure": { + "title": "OpenResponsesEasyInputMessageRoleSystem", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageRoleSystem", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageRoleSystem**\nSections: Values\n| Name | Value | | -------- | -------- | | `SYSTEM` | system |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessageroleunion.md", + "filename": "openresponseseasyinputmessageroleunion.md", + "category": "other", + "size_bytes": 675, + "title": "OpenResponsesEasyInputMessageRoleUnion", + "structure": { + "title": "OpenResponsesEasyInputMessageRoleUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageRoleUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessageRoleUser`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessageRoleSystem`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessageRoleAssistant`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessageRoleDeveloper`", + "line": 24 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessageRoleUser = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessageRoleSystem = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessageRoleAssistant = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessageRoleDeveloper = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 10, + "line_count": 30 + }, + "summary": "**OpenResponsesEasyInputMessageRoleUnion**\nSections: Supported Types, `components.OpenResponsesEasyInputMessageRoleUser`, `components.OpenResponsesEasyInputMessageRoleSystem`, `components.OpenResponsesEasyInputMessageRoleAssistant`, `components.OpenResponsesEasyInputMessageRoleDeveloper`\nvalue: components.OpenResponsesEasyInputMessageRoleUser = /* values here */\n(10 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessageroleuser.md", + "filename": "openresponseseasyinputmessageroleuser.md", + "category": "other", + "size_bytes": 112, + "title": "OpenResponsesEasyInputMessageRoleUser", + "structure": { + "title": "OpenResponsesEasyInputMessageRoleUser", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageRoleUser", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageRoleUser**\nSections: Values\n| Name | Value | | ------ | ------ | | `USER` | user |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseseasyinputmessagetypemessage.md", + "filename": "openresponseseasyinputmessagetypemessage.md", + "category": "other", + "size_bytes": 133, + "title": "OpenResponsesEasyInputMessageTypeMessage", + "structure": { + "title": "OpenResponsesEasyInputMessageTypeMessage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesEasyInputMessageTypeMessage", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesEasyInputMessageTypeMessage**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseserrorevent.md", + "filename": "openresponseserrorevent.md", + "category": "other", + "size_bytes": 2597, + "title": "OpenResponsesErrorEvent", + "structure": { + "title": "OpenResponsesErrorEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesErrorEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesErrorEvent**\nSections: Fields\nEvent emitted when an error occurs during streaming\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseserroreventtype.md", + "filename": "openresponseserroreventtype.md", + "category": "other", + "size_bytes": 108, + "title": "OpenResponsesErrorEventType", + "structure": { + "title": "OpenResponsesErrorEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesErrorEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesErrorEventType**\nSections: Values\n| Name | Value | | ------- | ------- | | `ERROR` | error |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesfunctioncalloutput.md", + "filename": "openresponsesfunctioncalloutput.md", + "category": "other", + "size_bytes": 3778, + "title": "OpenResponsesFunctionCallOutput", + "structure": { + "title": "OpenResponsesFunctionCallOutput", + "headers": [ + { + "level": 1, + "text": "OpenResponsesFunctionCallOutput", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesFunctionCallOutput**\nSections: Fields\nThe output from a function call execution\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesfunctioncalloutputtype.md", + "filename": "openresponsesfunctioncalloutputtype.md", + "category": "other", + "size_bytes": 206, + "title": "OpenResponsesFunctionCallOutputType", + "structure": { + "title": "OpenResponsesFunctionCallOutputType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesFunctionCallOutputType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesFunctionCallOutputType**\nSections: Values\n| Name | Value | | ---------------------- | ---------------------- | | `FUNCTION_CALL_OUTPUT` | function_call_output |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesfunctiontoolcall.md", + "filename": "openresponsesfunctiontoolcall.md", + "category": "other", + "size_bytes": 4140, + "title": "OpenResponsesFunctionToolCall", + "structure": { + "title": "OpenResponsesFunctionToolCall", + "headers": [ + { + "level": 1, + "text": "OpenResponsesFunctionToolCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesFunctionToolCall**\nSections: Fields\nA function call initiated by the model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesfunctiontoolcalltype.md", + "filename": "openresponsesfunctiontoolcalltype.md", + "category": "other", + "size_bytes": 162, + "title": "OpenResponsesFunctionToolCallType", + "structure": { + "title": "OpenResponsesFunctionToolCallType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesFunctionToolCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesFunctionToolCallType**\nSections: Values\n| Name | Value | | --------------- | --------------- | | `FUNCTION_CALL` | function_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallcompleted.md", + "filename": "openresponsesimagegencallcompleted.md", + "category": "other", + "size_bytes": 2758, + "title": "OpenResponsesImageGenCallCompleted", + "structure": { + "title": "OpenResponsesImageGenCallCompleted", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesImageGenCallCompleted**\nSections: Fields\nImage generation call completed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallcompletedtype.md", + "filename": "openresponsesimagegencallcompletedtype.md", + "category": "other", + "size_bytes": 329, + "title": "OpenResponsesImageGenCallCompletedType", + "structure": { + "title": "OpenResponsesImageGenCallCompletedType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallCompletedType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesImageGenCallCompletedType**\nSections: Values\n| Name | Value | | ------------------------------------------ | ------------------------------------------ | | `RESPONSE_IMAG...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallgenerating.md", + "filename": "openresponsesimagegencallgenerating.md", + "category": "other", + "size_bytes": 2811, + "title": "OpenResponsesImageGenCallGenerating", + "structure": { + "title": "OpenResponsesImageGenCallGenerating", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallGenerating", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesImageGenCallGenerating**\nSections: Fields\nImage generation call is generating\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallgeneratingtype.md", + "filename": "openresponsesimagegencallgeneratingtype.md", + "category": "other", + "size_bytes": 336, + "title": "OpenResponsesImageGenCallGeneratingType", + "structure": { + "title": "OpenResponsesImageGenCallGeneratingType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallGeneratingType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesImageGenCallGeneratingType**\nSections: Values\n| Name | Value | | ------------------------------------------- | ------------------------------------------- | | `RESPONSE_...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallinprogress.md", + "filename": "openresponsesimagegencallinprogress.md", + "category": "other", + "size_bytes": 2809, + "title": "OpenResponsesImageGenCallInProgress", + "structure": { + "title": "OpenResponsesImageGenCallInProgress", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesImageGenCallInProgress**\nSections: Fields\nImage generation call in progress\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallinprogresstype.md", + "filename": "openresponsesimagegencallinprogresstype.md", + "category": "other", + "size_bytes": 342, + "title": "OpenResponsesImageGenCallInProgressType", + "structure": { + "title": "OpenResponsesImageGenCallInProgressType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallInProgressType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesImageGenCallInProgressType**\nSections: Values\n| Name | Value | | -------------------------------------------- | -------------------------------------------- | | `RESPO...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallpartialimage.md", + "filename": "openresponsesimagegencallpartialimage.md", + "category": "other", + "size_bytes": 3854, + "title": "OpenResponsesImageGenCallPartialImage", + "structure": { + "title": "OpenResponsesImageGenCallPartialImage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallPartialImage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesImageGenCallPartialImage**\nSections: Fields\nImage generation call with partial image\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesimagegencallpartialimagetype.md", + "filename": "openresponsesimagegencallpartialimagetype.md", + "category": "other", + "size_bytes": 356, + "title": "OpenResponsesImageGenCallPartialImageType", + "structure": { + "title": "OpenResponsesImageGenCallPartialImageType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesImageGenCallPartialImageType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesImageGenCallPartialImageType**\nSections: Values\n| Name | Value | | ---------------------------------------------- | ---------------------------------------------- | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinput.md", + "filename": "openresponsesinput.md", + "category": "other", + "size_bytes": 289, + "title": "OpenResponsesInput", + "structure": { + "title": "OpenResponsesInput", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInput", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.OpenResponsesInput1]`", + "line": 14 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.OpenResponsesInput1] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 7, + "line_count": 20 + }, + "summary": "**OpenResponsesInput**\nSections: Supported Types, `str`, `List[components.OpenResponsesInput1]`\nInput for a response request - can be a string or array of items\n(7 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openresponsesinput1.md", + "filename": "openresponsesinput1.md", + "category": "other", + "size_bytes": 1467, + "title": "OpenResponsesInput1", + "structure": { + "title": "OpenResponsesInput1", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInput1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoning`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesEasyInputMessage`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesInputMessageItem`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenResponsesFunctionToolCall`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OpenResponsesFunctionCallOutput`", + "line": 30 + }, + { + "level": 3, + "text": "`components.ResponsesOutputMessage`", + "line": 36 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemReasoning`", + "line": 42 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFunctionCall`", + "line": 48 + }, + { + "level": 3, + "text": "`components.ResponsesWebSearchCallOutput`", + "line": 54 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFileSearchCall`", + "line": 60 + }, + { + "level": 3, + "text": "`components.ResponsesImageGenerationCall`", + "line": 66 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesReasoning = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesEasyInputMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesInputMessageItem = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesFunctionToolCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesFunctionCallOutput = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemReasoning = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFunctionCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesWebSearchCallOutput = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFileSearchCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesImageGenerationCall = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 24, + "line_count": 72 + }, + "summary": "**OpenResponsesInput1**\nSections: Supported Types, `components.OpenResponsesReasoning`, `components.OpenResponsesEasyInputMessage`, `components.OpenResponsesInputMessageItem`, `components.OpenResponsesFunctionToolCall`\nvalue: components.OpenResponsesReasoning = /* values here */\n(24 words, 11 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 11, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitem.md", + "filename": "openresponsesinputmessageitem.md", + "category": "other", + "size_bytes": 3056, + "title": "OpenResponsesInputMessageItem", + "structure": { + "title": "OpenResponsesInputMessageItem", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItem", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**OpenResponsesInputMessageItem**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemcontentinputimage.md", + "filename": "openresponsesinputmessageitemcontentinputimage.md", + "category": "other", + "size_bytes": 2397, + "title": "OpenResponsesInputMessageItemContentInputImage", + "structure": { + "title": "OpenResponsesInputMessageItemContentInputImage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemContentInputImage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesInputMessageItemContentInputImage**\nSections: Fields\nImage input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemcontenttype.md", + "filename": "openresponsesinputmessageitemcontenttype.md", + "category": "other", + "size_bytes": 157, + "title": "OpenResponsesInputMessageItemContentType", + "structure": { + "title": "OpenResponsesInputMessageItemContentType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemContentType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesInputMessageItemContentType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_IMAGE` | input_image |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemcontentunion.md", + "filename": "openresponsesinputmessageitemcontentunion.md", + "category": "other", + "size_bytes": 663, + "title": "OpenResponsesInputMessageItemContentUnion", + "structure": { + "title": "OpenResponsesInputMessageItemContentUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemContentUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseInputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesInputMessageItemContentInputImage`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponseInputFile`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ResponseInputAudio`", + "line": 24 + }, + { + "level": 3, + "text": "`components.ResponseInputVideo`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseInputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesInputMessageItemContentInputImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputFile = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputAudio = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputVideo = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenResponsesInputMessageItemContentUnion**\nSections: Supported Types, `components.ResponseInputText`, `components.OpenResponsesInputMessageItemContentInputImage`, `components.ResponseInputFile`, `components.ResponseInputAudio`\nvalue: components.ResponseInputText = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemdetail.md", + "filename": "openresponsesinputmessageitemdetail.md", + "category": "other", + "size_bytes": 150, + "title": "OpenResponsesInputMessageItemDetail", + "structure": { + "title": "OpenResponsesInputMessageItemDetail", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemDetail", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesInputMessageItemDetail**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto | | `HIGH` | high | | `LOW` | low |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemroledeveloper.md", + "filename": "openresponsesinputmessageitemroledeveloper.md", + "category": "other", + "size_bytes": 147, + "title": "OpenResponsesInputMessageItemRoleDeveloper", + "structure": { + "title": "OpenResponsesInputMessageItemRoleDeveloper", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemRoleDeveloper", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesInputMessageItemRoleDeveloper**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `DEVELOPER` | developer |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemrolesystem.md", + "filename": "openresponsesinputmessageitemrolesystem.md", + "category": "other", + "size_bytes": 126, + "title": "OpenResponsesInputMessageItemRoleSystem", + "structure": { + "title": "OpenResponsesInputMessageItemRoleSystem", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemRoleSystem", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesInputMessageItemRoleSystem**\nSections: Values\n| Name | Value | | -------- | -------- | | `SYSTEM` | system |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemroleunion.md", + "filename": "openresponsesinputmessageitemroleunion.md", + "category": "other", + "size_bytes": 518, + "title": "OpenResponsesInputMessageItemRoleUnion", + "structure": { + "title": "OpenResponsesInputMessageItemRoleUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemRoleUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesInputMessageItemRoleUser`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesInputMessageItemRoleSystem`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesInputMessageItemRoleDeveloper`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesInputMessageItemRoleUser = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesInputMessageItemRoleSystem = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesInputMessageItemRoleDeveloper = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OpenResponsesInputMessageItemRoleUnion**\nSections: Supported Types, `components.OpenResponsesInputMessageItemRoleUser`, `components.OpenResponsesInputMessageItemRoleSystem`, `components.OpenResponsesInputMessageItemRoleDeveloper`\nvalue: components.OpenResponsesInputMessageItemRoleUser = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemroleuser.md", + "filename": "openresponsesinputmessageitemroleuser.md", + "category": "other", + "size_bytes": 112, + "title": "OpenResponsesInputMessageItemRoleUser", + "structure": { + "title": "OpenResponsesInputMessageItemRoleUser", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemRoleUser", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesInputMessageItemRoleUser**\nSections: Values\n| Name | Value | | ------ | ------ | | `USER` | user |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesinputmessageitemtypemessage.md", + "filename": "openresponsesinputmessageitemtypemessage.md", + "category": "other", + "size_bytes": 133, + "title": "OpenResponsesInputMessageItemTypeMessage", + "structure": { + "title": "OpenResponsesInputMessageItemTypeMessage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesInputMessageItemTypeMessage", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesInputMessageItemTypeMessage**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseslogprobs.md", + "filename": "openresponseslogprobs.md", + "category": "other", + "size_bytes": 1867, + "title": "OpenResponsesLogProbs", + "structure": { + "title": "OpenResponsesLogProbs", + "headers": [ + { + "level": 1, + "text": "OpenResponsesLogProbs", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesLogProbs**\nSections: Fields\nLog probability information for a token\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesnonstreamingresponse.md", + "filename": "openresponsesnonstreamingresponse.md", + "category": "other", + "size_bytes": 57484, + "title": "OpenResponsesNonStreamingResponse", + "structure": { + "title": "OpenResponsesNonStreamingResponse", + "headers": [ + { + "level": 1, + "text": "OpenResponsesNonStreamingResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 43 + }, + "summary": "**OpenResponsesNonStreamingResponse**\nSections: Fields\nComplete non-streaming response from the Responses API\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 5, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesnonstreamingresponseobject.md", + "filename": "openresponsesnonstreamingresponseobject.md", + "category": "other", + "size_bytes": 138, + "title": "OpenResponsesNonStreamingResponseObject", + "structure": { + "title": "OpenResponsesNonStreamingResponseObject", + "headers": [ + { + "level": 1, + "text": "OpenResponsesNonStreamingResponseObject", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesNonStreamingResponseObject**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `RESPONSE` | response |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesnonstreamingresponsetoolfunction.md", + "filename": "openresponsesnonstreamingresponsetoolfunction.md", + "category": "other", + "size_bytes": 3152, + "title": "OpenResponsesNonStreamingResponseToolFunction", + "structure": { + "title": "OpenResponsesNonStreamingResponseToolFunction", + "headers": [ + { + "level": 1, + "text": "OpenResponsesNonStreamingResponseToolFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesNonStreamingResponseToolFunction**\nSections: Fields\nFunction tool definition\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesnonstreamingresponsetoolunion.md", + "filename": "openresponsesnonstreamingresponsetoolunion.md", + "category": "other", + "size_bytes": 790, + "title": "OpenResponsesNonStreamingResponseToolUnion", + "structure": { + "title": "OpenResponsesNonStreamingResponseToolUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesNonStreamingResponseToolUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesNonStreamingResponseToolFunction`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchPreviewTool`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchPreview20250311Tool`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchTool`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearch20250826Tool`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesNonStreamingResponseToolFunction = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchPreviewTool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchPreview20250311Tool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchTool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearch20250826Tool = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenResponsesNonStreamingResponseToolUnion**\nSections: Supported Types, `components.OpenResponsesNonStreamingResponseToolFunction`, `components.OpenResponsesWebSearchPreviewTool`, `components.OpenResponsesWebSearchPreview20250311Tool`, `components.OpenResponsesWebSearchTool`\nvalue: components.OpenResponsesNonStreamingResponseToolFunction = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesnonstreamingresponsetype.md", + "filename": "openresponsesnonstreamingresponsetype.md", + "category": "other", + "size_bytes": 136, + "title": "OpenResponsesNonStreamingResponseType", + "structure": { + "title": "OpenResponsesNonStreamingResponseType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesNonStreamingResponseType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesNonStreamingResponseType**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoning.md", + "filename": "openresponsesreasoning.md", + "category": "other", + "size_bytes": 4557, + "title": "OpenResponsesReasoning", + "structure": { + "title": "OpenResponsesReasoning", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoning", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 17 + }, + "summary": "**OpenResponsesReasoning**\nSections: Fields\nReasoning output item with signature and format extensions\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningconfig.md", + "filename": "openresponsesreasoningconfig.md", + "category": "other", + "size_bytes": 3495, + "title": "OpenResponsesReasoningConfig", + "structure": { + "title": "OpenResponsesReasoningConfig", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesReasoningConfig**\nSections: Fields\nConfiguration for reasoning mode in the response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningdeltaevent.md", + "filename": "openresponsesreasoningdeltaevent.md", + "category": "other", + "size_bytes": 3540, + "title": "OpenResponsesReasoningDeltaEvent", + "structure": { + "title": "OpenResponsesReasoningDeltaEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningDeltaEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesReasoningDeltaEvent**\nSections: Fields\nEvent emitted when reasoning text delta is streamed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningdeltaeventtype.md", + "filename": "openresponsesreasoningdeltaeventtype.md", + "category": "other", + "size_bytes": 261, + "title": "OpenResponsesReasoningDeltaEventType", + "structure": { + "title": "OpenResponsesReasoningDeltaEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningDeltaEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningDeltaEventType**\nSections: Values\n| Name | Value | | ------------------------------- | ------------------------------- | | `RESPONSE_REASONING_TEXT_DELTA` | response.reasoning_text....\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningdoneevent.md", + "filename": "openresponsesreasoningdoneevent.md", + "category": "other", + "size_bytes": 3479, + "title": "OpenResponsesReasoningDoneEvent", + "structure": { + "title": "OpenResponsesReasoningDoneEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningDoneEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesReasoningDoneEvent**\nSections: Fields\nEvent emitted when reasoning text streaming is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningdoneeventtype.md", + "filename": "openresponsesreasoningdoneeventtype.md", + "category": "other", + "size_bytes": 254, + "title": "OpenResponsesReasoningDoneEventType", + "structure": { + "title": "OpenResponsesReasoningDoneEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningDoneEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningDoneEventType**\nSections: Values\n| Name | Value | | ------------------------------ | ------------------------------ | | `RESPONSE_REASONING_TEXT_DONE` | response.reasoning_text.done ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningformat.md", + "filename": "openresponsesreasoningformat.md", + "category": "other", + "size_bytes": 539, + "title": "OpenResponsesReasoningFormat", + "structure": { + "title": "OpenResponsesReasoningFormat", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**OpenResponsesReasoningFormat**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `UNKNOWN` | unknown | | `OPENAI_RESP...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningstatuscompleted.md", + "filename": "openresponsesreasoningstatuscompleted.md", + "category": "other", + "size_bytes": 142, + "title": "OpenResponsesReasoningStatusCompleted", + "structure": { + "title": "OpenResponsesReasoningStatusCompleted", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningStatusCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningStatusCompleted**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `COMPLETED` | completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningstatusincomplete.md", + "filename": "openresponsesreasoningstatusincomplete.md", + "category": "other", + "size_bytes": 149, + "title": "OpenResponsesReasoningStatusIncomplete", + "structure": { + "title": "OpenResponsesReasoningStatusIncomplete", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningStatusIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningStatusIncomplete**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningstatusinprogress.md", + "filename": "openresponsesreasoningstatusinprogress.md", + "category": "other", + "size_bytes": 155, + "title": "OpenResponsesReasoningStatusInProgress", + "structure": { + "title": "OpenResponsesReasoningStatusInProgress", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningStatusInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningStatusInProgress**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningstatusunion.md", + "filename": "openresponsesreasoningstatusunion.md", + "category": "other", + "size_bytes": 503, + "title": "OpenResponsesReasoningStatusUnion", + "structure": { + "title": "OpenResponsesReasoningStatusUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningStatusUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningStatusCompleted`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningStatusIncomplete`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningStatusInProgress`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesReasoningStatusCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningStatusIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningStatusInProgress = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OpenResponsesReasoningStatusUnion**\nSections: Supported Types, `components.OpenResponsesReasoningStatusCompleted`, `components.OpenResponsesReasoningStatusIncomplete`, `components.OpenResponsesReasoningStatusInProgress`\nvalue: components.OpenResponsesReasoningStatusCompleted = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarypartaddedevent.md", + "filename": "openresponsesreasoningsummarypartaddedevent.md", + "category": "other", + "size_bytes": 5288, + "title": "OpenResponsesReasoningSummaryPartAddedEvent", + "structure": { + "title": "OpenResponsesReasoningSummaryPartAddedEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryPartAddedEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesReasoningSummaryPartAddedEvent**\nSections: Fields\nEvent emitted when a reasoning summary part is added\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarypartaddedeventtype.md", + "filename": "openresponsesreasoningsummarypartaddedeventtype.md", + "category": "other", + "size_bytes": 320, + "title": "OpenResponsesReasoningSummaryPartAddedEventType", + "structure": { + "title": "OpenResponsesReasoningSummaryPartAddedEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryPartAddedEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningSummaryPartAddedEventType**\nSections: Values\n| Name | Value | | --------------------------------------- | --------------------------------------- | | `RESPONSE_REASONING_SUMMAR...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarytextdeltaevent.md", + "filename": "openresponsesreasoningsummarytextdeltaevent.md", + "category": "other", + "size_bytes": 4263, + "title": "OpenResponsesReasoningSummaryTextDeltaEvent", + "structure": { + "title": "OpenResponsesReasoningSummaryTextDeltaEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryTextDeltaEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesReasoningSummaryTextDeltaEvent**\nSections: Fields\nEvent emitted when reasoning summary text delta is streamed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarytextdeltaeventtype.md", + "filename": "openresponsesreasoningsummarytextdeltaeventtype.md", + "category": "other", + "size_bytes": 320, + "title": "OpenResponsesReasoningSummaryTextDeltaEventType", + "structure": { + "title": "OpenResponsesReasoningSummaryTextDeltaEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryTextDeltaEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningSummaryTextDeltaEventType**\nSections: Values\n| Name | Value | | --------------------------------------- | --------------------------------------- | | `RESPONSE_REASONING_SUMMAR...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarytextdoneevent.md", + "filename": "openresponsesreasoningsummarytextdoneevent.md", + "category": "other", + "size_bytes": 4202, + "title": "OpenResponsesReasoningSummaryTextDoneEvent", + "structure": { + "title": "OpenResponsesReasoningSummaryTextDoneEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryTextDoneEvent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesReasoningSummaryTextDoneEvent**\nSections: Fields\nEvent emitted when reasoning summary text streaming is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningsummarytextdoneeventtype.md", + "filename": "openresponsesreasoningsummarytextdoneeventtype.md", + "category": "other", + "size_bytes": 313, + "title": "OpenResponsesReasoningSummaryTextDoneEventType", + "structure": { + "title": "OpenResponsesReasoningSummaryTextDoneEventType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningSummaryTextDoneEventType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningSummaryTextDoneEventType**\nSections: Values\n| Name | Value | | -------------------------------------- | -------------------------------------- | | `RESPONSE_REASONING_SUMMARY_TE...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesreasoningtype.md", + "filename": "openresponsesreasoningtype.md", + "category": "other", + "size_bytes": 131, + "title": "OpenResponsesReasoningType", + "structure": { + "title": "OpenResponsesReasoningType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesReasoningType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesReasoningType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `REASONING` | reasoning |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequest.md", + "filename": "openresponsesrequest.md", + "category": "other", + "size_bytes": 54727, + "title": "OpenResponsesRequest", + "structure": { + "title": "OpenResponsesRequest", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 44 + }, + "summary": "**OpenResponsesRequest**\nSections: Fields\nRequest schema for Responses endpoint\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 5, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestengine.md", + "filename": "openresponsesrequestengine.md", + "category": "other", + "size_bytes": 137, + "title": "OpenResponsesRequestEngine", + "structure": { + "title": "OpenResponsesRequestEngine", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenResponsesRequestEngine**\nSections: Values\n| Name | Value | | -------- | -------- | | `NATIVE` | native | | `EXA` | exa |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestidautorouter.md", + "filename": "openresponsesrequestidautorouter.md", + "category": "other", + "size_bytes": 149, + "title": "OpenResponsesRequestIDAutoRouter", + "structure": { + "title": "OpenResponsesRequestIDAutoRouter", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIDAutoRouter", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestIDAutoRouter**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `AUTO_ROUTER` | auto-router |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestidfileparser.md", + "filename": "openresponsesrequestidfileparser.md", + "category": "other", + "size_bytes": 149, + "title": "OpenResponsesRequestIDFileParser", + "structure": { + "title": "OpenResponsesRequestIDFileParser", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIDFileParser", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestIDFileParser**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `FILE_PARSER` | file-parser |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestidmoderation.md", + "filename": "openresponsesrequestidmoderation.md", + "category": "other", + "size_bytes": 143, + "title": "OpenResponsesRequestIDModeration", + "structure": { + "title": "OpenResponsesRequestIDModeration", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIDModeration", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestIDModeration**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `MODERATION` | moderation |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestidresponsehealing.md", + "filename": "openresponsesrequestidresponsehealing.md", + "category": "other", + "size_bytes": 184, + "title": "OpenResponsesRequestIDResponseHealing", + "structure": { + "title": "OpenResponsesRequestIDResponseHealing", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIDResponseHealing", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestIDResponseHealing**\nSections: Values\n| Name | Value | | ------------------ | ------------------ | | `RESPONSE_HEALING` | response-healing |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestidweb.md", + "filename": "openresponsesrequestidweb.md", + "category": "other", + "size_bytes": 94, + "title": "OpenResponsesRequestIDWeb", + "structure": { + "title": "OpenResponsesRequestIDWeb", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIDWeb", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestIDWeb**\nSections: Values\n| Name | Value | | ----- | ----- | | `WEB` | web |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestignore.md", + "filename": "openresponsesrequestignore.md", + "category": "other", + "size_bytes": 205, + "title": "OpenResponsesRequestIgnore", + "structure": { + "title": "OpenResponsesRequestIgnore", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestIgnore", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenResponsesRequestIgnore**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openresponsesrequestimageconfig.md", + "filename": "openresponsesrequestimageconfig.md", + "category": "other", + "size_bytes": 174, + "title": "OpenResponsesRequestImageConfig", + "structure": { + "title": "OpenResponsesRequestImageConfig", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestImageConfig", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`str`", + "line": 6 + }, + { + "level": 3, + "text": "`float`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: float = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenResponsesRequestImageConfig**\nSections: Supported Types, `str`, `float`\nvalue: str = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.5 + } + } + }, + { + "path": "docs/components/openresponsesrequestmaxprice.md", + "filename": "openresponsesrequestmaxprice.md", + "category": "other", + "size_bytes": 1379, + "title": "OpenResponsesRequestMaxPrice", + "structure": { + "title": "OpenResponsesRequestMaxPrice", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestMaxPrice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesRequestMaxPrice**\nSections: Fields\nThe object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestonly.md", + "filename": "openresponsesrequestonly.md", + "category": "other", + "size_bytes": 203, + "title": "OpenResponsesRequestOnly", + "structure": { + "title": "OpenResponsesRequestOnly", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestOnly", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenResponsesRequestOnly**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openresponsesrequestorder.md", + "filename": "openresponsesrequestorder.md", + "category": "other", + "size_bytes": 204, + "title": "OpenResponsesRequestOrder", + "structure": { + "title": "OpenResponsesRequestOrder", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestOrder", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OpenResponsesRequestOrder**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpdf.md", + "filename": "openresponsesrequestpdf.md", + "category": "other", + "size_bytes": 1280, + "title": "OpenResponsesRequestPdf", + "structure": { + "title": "OpenResponsesRequestPdf", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPdf", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestPdf**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpdfengine.md", + "filename": "openresponsesrequestpdfengine.md", + "category": "other", + "size_bytes": 214, + "title": "OpenResponsesRequestPdfEngine", + "structure": { + "title": "OpenResponsesRequestPdfEngine", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPdfEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesRequestPdfEngine**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `MISTRAL_OCR` | mistral-ocr | | `PDF_TEXT` | pdf-text | | `NATIVE` | native |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginautorouter.md", + "filename": "openresponsesrequestpluginautorouter.md", + "category": "other", + "size_bytes": 5411, + "title": "OpenResponsesRequestPluginAutoRouter", + "structure": { + "title": "OpenResponsesRequestPluginAutoRouter", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginAutoRouter", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesRequestPluginAutoRouter**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginfileparser.md", + "filename": "openresponsesrequestpluginfileparser.md", + "category": "other", + "size_bytes": 2041, + "title": "OpenResponsesRequestPluginFileParser", + "structure": { + "title": "OpenResponsesRequestPluginFileParser", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginFileParser", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesRequestPluginFileParser**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginmoderation.md", + "filename": "openresponsesrequestpluginmoderation.md", + "category": "other", + "size_bytes": 1245, + "title": "OpenResponsesRequestPluginModeration", + "structure": { + "title": "OpenResponsesRequestPluginModeration", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginModeration", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestPluginModeration**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginresponsehealing.md", + "filename": "openresponsesrequestpluginresponsehealing.md", + "category": "other", + "size_bytes": 1808, + "title": "OpenResponsesRequestPluginResponseHealing", + "structure": { + "title": "OpenResponsesRequestPluginResponseHealing", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginResponseHealing", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**OpenResponsesRequestPluginResponseHealing**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginunion.md", + "filename": "openresponsesrequestpluginunion.md", + "category": "other", + "size_bytes": 777, + "title": "OpenResponsesRequestPluginUnion", + "structure": { + "title": "OpenResponsesRequestPluginUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestPluginAutoRouter`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestPluginModeration`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestPluginWeb`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestPluginFileParser`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestPluginResponseHealing`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesRequestPluginAutoRouter = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesRequestPluginModeration = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesRequestPluginWeb = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesRequestPluginFileParser = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesRequestPluginResponseHealing = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenResponsesRequestPluginUnion**\nSections: Supported Types, `components.OpenResponsesRequestPluginAutoRouter`, `components.OpenResponsesRequestPluginModeration`, `components.OpenResponsesRequestPluginWeb`, `components.OpenResponsesRequestPluginFileParser`\nvalue: components.OpenResponsesRequestPluginAutoRouter = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesrequestpluginweb.md", + "filename": "openresponsesrequestpluginweb.md", + "category": "other", + "size_bytes": 2438, + "title": "OpenResponsesRequestPluginWeb", + "structure": { + "title": "OpenResponsesRequestPluginWeb", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestPluginWeb", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**OpenResponsesRequestPluginWeb**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestprovider.md", + "filename": "openresponsesrequestprovider.md", + "category": "other", + "size_bytes": 26264, + "title": "OpenResponsesRequestProvider", + "structure": { + "title": "OpenResponsesRequestProvider", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestProvider", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 22 + }, + "summary": "**OpenResponsesRequestProvider**\nSections: Fields\nWhen multiple model providers are available, optionally indicate your routing preference.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestroute.md", + "filename": "openresponsesrequestroute.md", + "category": "other", + "size_bytes": 303, + "title": "OpenResponsesRequestRoute", + "structure": { + "title": "OpenResponsesRequestRoute", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestRoute", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**OpenResponsesRequestRoute**\nSections: Values\nRouting strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequestsort.md", + "filename": "openresponsesrequestsort.md", + "category": "other", + "size_bytes": 430, + "title": "OpenResponsesRequestSort", + "structure": { + "title": "OpenResponsesRequestSort", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestSort", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ProviderSort`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ProviderSortConfig`", + "line": 14 + }, + { + "level": 3, + "text": "`Any`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderSort = /* values here */" + }, + { + "language": "python", + "code": "value: components.ProviderSortConfig = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**OpenResponsesRequestSort**\nSections: Supported Types, `components.ProviderSort`, `components.ProviderSortConfig`, `Any`\nThe sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed.\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.166666666666667 + } + } + }, + { + "path": "docs/components/openresponsesrequesttoolfunction.md", + "filename": "openresponsesrequesttoolfunction.md", + "category": "other", + "size_bytes": 2411, + "title": "OpenResponsesRequestToolFunction", + "structure": { + "title": "OpenResponsesRequestToolFunction", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestToolFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesRequestToolFunction**\nSections: Fields\nFunction tool definition\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequesttoolunion.md", + "filename": "openresponsesrequesttoolunion.md", + "category": "other", + "size_bytes": 751, + "title": "OpenResponsesRequestToolUnion", + "structure": { + "title": "OpenResponsesRequestToolUnion", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestToolUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesRequestToolFunction`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchPreviewTool`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchPreview20250311Tool`", + "line": 18 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearchTool`", + "line": 24 + }, + { + "level": 3, + "text": "`components.OpenResponsesWebSearch20250826Tool`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesRequestToolFunction = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchPreviewTool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchPreview20250311Tool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearchTool = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesWebSearch20250826Tool = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**OpenResponsesRequestToolUnion**\nSections: Supported Types, `components.OpenResponsesRequestToolFunction`, `components.OpenResponsesWebSearchPreviewTool`, `components.OpenResponsesWebSearchPreview20250311Tool`, `components.OpenResponsesWebSearchTool`\nvalue: components.OpenResponsesRequestToolFunction = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesrequesttrace.md", + "filename": "openresponsesrequesttrace.md", + "category": "other", + "size_bytes": 1218, + "title": "OpenResponsesRequestTrace", + "structure": { + "title": "OpenResponsesRequestTrace", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestTrace", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesRequestTrace**\nSections: Fields\nMetadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to co...\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesrequesttype.md", + "filename": "openresponsesrequesttype.md", + "category": "other", + "size_bytes": 123, + "title": "OpenResponsesRequestType", + "structure": { + "title": "OpenResponsesRequestType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesRequestType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesRequestType**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesresponsetext.md", + "filename": "openresponsesresponsetext.md", + "category": "other", + "size_bytes": 2526, + "title": "OpenResponsesResponseText", + "structure": { + "title": "OpenResponsesResponseText", + "headers": [ + { + "level": 1, + "text": "OpenResponsesResponseText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**OpenResponsesResponseText**\nSections: Fields\nText output configuration including format and verbosity\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesresponsetextverbosity.md", + "filename": "openresponsesresponsetextverbosity.md", + "category": "other", + "size_bytes": 169, + "title": "OpenResponsesResponseTextVerbosity", + "structure": { + "title": "OpenResponsesResponseTextVerbosity", + "headers": [ + { + "level": 1, + "text": "OpenResponsesResponseTextVerbosity", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**OpenResponsesResponseTextVerbosity**\nSections: Values\n| Name | Value | | -------- | -------- | | `HIGH` | high | | `LOW` | low | | `MEDIUM` | medium |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreamevent.md", + "filename": "openresponsesstreamevent.md", + "category": "other", + "size_bytes": 4395, + "title": "OpenResponsesStreamEvent", + "structure": { + "title": "OpenResponsesStreamEvent", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEvent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseCreated`", + "line": 8 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseInProgress`", + "line": 14 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseCompleted`", + "line": 20 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseIncomplete`", + "line": 26 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseFailed`", + "line": 32 + }, + { + "level": 3, + "text": "`components.OpenResponsesErrorEvent`", + "line": 38 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseOutputItemAdded`", + "line": 44 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseOutputItemDone`", + "line": 50 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseContentPartAdded`", + "line": 56 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseContentPartDone`", + "line": 62 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseOutputTextDelta`", + "line": 68 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseOutputTextDone`", + "line": 74 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseRefusalDelta`", + "line": 80 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseRefusalDone`", + "line": 86 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseOutputTextAnnotationAdded`", + "line": 92 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseFunctionCallArgumentsDelta`", + "line": 98 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseFunctionCallArgumentsDone`", + "line": 104 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningDeltaEvent`", + "line": 110 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningDoneEvent`", + "line": 116 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningSummaryPartAddedEvent`", + "line": 122 + }, + { + "level": 3, + "text": "`components.OpenResponsesStreamEventResponseReasoningSummaryPartDone`", + "line": 128 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningSummaryTextDeltaEvent`", + "line": 134 + }, + { + "level": 3, + "text": "`components.OpenResponsesReasoningSummaryTextDoneEvent`", + "line": 140 + }, + { + "level": 3, + "text": "`components.OpenResponsesImageGenCallInProgress`", + "line": 146 + }, + { + "level": 3, + "text": "`components.OpenResponsesImageGenCallGenerating`", + "line": 152 + }, + { + "level": 3, + "text": "`components.OpenResponsesImageGenCallPartialImage`", + "line": 158 + }, + { + "level": 3, + "text": "`components.OpenResponsesImageGenCallCompleted`", + "line": 164 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseCreated = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseInProgress = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseFailed = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesErrorEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseOutputItemAdded = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseOutputItemDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseContentPartAdded = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseContentPartDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseOutputTextDelta = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseOutputTextDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseRefusalDelta = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseRefusalDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseOutputTextAnnotationAdded = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseFunctionCallArgumentsDelta = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseFunctionCallArgumentsDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningDeltaEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningDoneEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningSummaryPartAddedEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesStreamEventResponseReasoningSummaryPartDone = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningSummaryTextDeltaEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesReasoningSummaryTextDoneEvent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesImageGenCallInProgress = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesImageGenCallGenerating = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesImageGenCallPartialImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenResponsesImageGenCallCompleted = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 57, + "line_count": 170 + }, + "summary": "**OpenResponsesStreamEvent**\nSections: Supported Types, `components.OpenResponsesStreamEventResponseCreated`, `components.OpenResponsesStreamEventResponseInProgress`, `components.OpenResponsesStreamEventResponseCompleted`, `components.OpenResponsesStreamEventResponseIncomplete`\nUnion of all possible event types emitted during response streaming\n(57 words, 27 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 27, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsecompleted.md", + "filename": "openresponsesstreameventresponsecompleted.md", + "category": "other", + "size_bytes": 17942, + "title": "OpenResponsesStreamEventResponseCompleted", + "structure": { + "title": "OpenResponsesStreamEventResponseCompleted", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesStreamEventResponseCompleted**\nSections: Fields\nEvent emitted when a response has completed successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsecontentpartadded.md", + "filename": "openresponsesstreameventresponsecontentpartadded.md", + "category": "other", + "size_bytes": 3057, + "title": "OpenResponsesStreamEventResponseContentPartAdded", + "structure": { + "title": "OpenResponsesStreamEventResponseContentPartAdded", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseContentPartAdded", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseContentPartAdded**\nSections: Fields\nEvent emitted when a new content part is added to an output item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsecontentpartdone.md", + "filename": "openresponsesstreameventresponsecontentpartdone.md", + "category": "other", + "size_bytes": 2973, + "title": "OpenResponsesStreamEventResponseContentPartDone", + "structure": { + "title": "OpenResponsesStreamEventResponseContentPartDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseContentPartDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseContentPartDone**\nSections: Fields\nEvent emitted when a content part is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsecreated.md", + "filename": "openresponsesstreameventresponsecreated.md", + "category": "other", + "size_bytes": 17924, + "title": "OpenResponsesStreamEventResponseCreated", + "structure": { + "title": "OpenResponsesStreamEventResponseCreated", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseCreated", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesStreamEventResponseCreated**\nSections: Fields\nEvent emitted when a response is created\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsefailed.md", + "filename": "openresponsesstreameventresponsefailed.md", + "category": "other", + "size_bytes": 17923, + "title": "OpenResponsesStreamEventResponseFailed", + "structure": { + "title": "OpenResponsesStreamEventResponseFailed", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseFailed", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesStreamEventResponseFailed**\nSections: Fields\nEvent emitted when a response has failed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsefunctioncallargumentsdelta.md", + "filename": "openresponsesstreameventresponsefunctioncallargumentsdelta.md", + "category": "other", + "size_bytes": 3258, + "title": "OpenResponsesStreamEventResponseFunctionCallArgumentsDelta", + "structure": { + "title": "OpenResponsesStreamEventResponseFunctionCallArgumentsDelta", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseFunctionCallArgumentsDelta", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**OpenResponsesStreamEventResponseFunctionCallArgumentsDelta**\nSections: Fields\nEvent emitted when function call arguments are being streamed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsefunctioncallargumentsdone.md", + "filename": "openresponsesstreameventresponsefunctioncallargumentsdone.md", + "category": "other", + "size_bytes": 3642, + "title": "OpenResponsesStreamEventResponseFunctionCallArgumentsDone", + "structure": { + "title": "OpenResponsesStreamEventResponseFunctionCallArgumentsDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseFunctionCallArgumentsDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseFunctionCallArgumentsDone**\nSections: Fields\nEvent emitted when function call arguments streaming is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseincomplete.md", + "filename": "openresponsesstreameventresponseincomplete.md", + "category": "other", + "size_bytes": 17930, + "title": "OpenResponsesStreamEventResponseIncomplete", + "structure": { + "title": "OpenResponsesStreamEventResponseIncomplete", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesStreamEventResponseIncomplete**\nSections: Fields\nEvent emitted when a response is incomplete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseinprogress.md", + "filename": "openresponsesstreameventresponseinprogress.md", + "category": "other", + "size_bytes": 17931, + "title": "OpenResponsesStreamEventResponseInProgress", + "structure": { + "title": "OpenResponsesStreamEventResponseInProgress", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesStreamEventResponseInProgress**\nSections: Fields\nEvent emitted when a response is in progress\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseoutputitemadded.md", + "filename": "openresponsesstreameventresponseoutputitemadded.md", + "category": "other", + "size_bytes": 5401, + "title": "OpenResponsesStreamEventResponseOutputItemAdded", + "structure": { + "title": "OpenResponsesStreamEventResponseOutputItemAdded", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseOutputItemAdded", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesStreamEventResponseOutputItemAdded**\nSections: Fields\nEvent emitted when a new output item is added to the response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseoutputitemdone.md", + "filename": "openresponsesstreameventresponseoutputitemdone.md", + "category": "other", + "size_bytes": 5384, + "title": "OpenResponsesStreamEventResponseOutputItemDone", + "structure": { + "title": "OpenResponsesStreamEventResponseOutputItemDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseOutputItemDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesStreamEventResponseOutputItemDone**\nSections: Fields\nEvent emitted when an output item is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseoutputtextannotationadded.md", + "filename": "openresponsesstreameventresponseoutputtextannotationadded.md", + "category": "other", + "size_bytes": 4071, + "title": "OpenResponsesStreamEventResponseOutputTextAnnotationAdded", + "structure": { + "title": "OpenResponsesStreamEventResponseOutputTextAnnotationAdded", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseOutputTextAnnotationAdded", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 16 + }, + "summary": "**OpenResponsesStreamEventResponseOutputTextAnnotationAdded**\nSections: Fields\nEvent emitted when a text annotation is added to output\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseoutputtextdelta.md", + "filename": "openresponsesstreameventresponseoutputtextdelta.md", + "category": "other", + "size_bytes": 3329, + "title": "OpenResponsesStreamEventResponseOutputTextDelta", + "structure": { + "title": "OpenResponsesStreamEventResponseOutputTextDelta", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseOutputTextDelta", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 16 + }, + "summary": "**OpenResponsesStreamEventResponseOutputTextDelta**\nSections: Fields\nEvent emitted when a text delta is streamed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponseoutputtextdone.md", + "filename": "openresponsesstreameventresponseoutputtextdone.md", + "category": "other", + "size_bytes": 3258, + "title": "OpenResponsesStreamEventResponseOutputTextDone", + "structure": { + "title": "OpenResponsesStreamEventResponseOutputTextDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseOutputTextDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 16 + }, + "summary": "**OpenResponsesStreamEventResponseOutputTextDone**\nSections: Fields\nEvent emitted when text streaming is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponsereasoningsummarypartdone.md", + "filename": "openresponsesstreameventresponsereasoningsummarypartdone.md", + "category": "other", + "size_bytes": 4424, + "title": "OpenResponsesStreamEventResponseReasoningSummaryPartDone", + "structure": { + "title": "OpenResponsesStreamEventResponseReasoningSummaryPartDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseReasoningSummaryPartDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseReasoningSummaryPartDone**\nSections: Fields\nEvent emitted when a reasoning summary part is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponserefusaldelta.md", + "filename": "openresponsesstreameventresponserefusaldelta.md", + "category": "other", + "size_bytes": 2779, + "title": "OpenResponsesStreamEventResponseRefusalDelta", + "structure": { + "title": "OpenResponsesStreamEventResponseRefusalDelta", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseRefusalDelta", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseRefusalDelta**\nSections: Fields\nEvent emitted when a refusal delta is streamed\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesstreameventresponserefusaldone.md", + "filename": "openresponsesstreameventresponserefusaldone.md", + "category": "other", + "size_bytes": 2716, + "title": "OpenResponsesStreamEventResponseRefusalDone", + "structure": { + "title": "OpenResponsesStreamEventResponseRefusalDone", + "headers": [ + { + "level": 1, + "text": "OpenResponsesStreamEventResponseRefusalDone", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**OpenResponsesStreamEventResponseRefusalDone**\nSections: Fields\nEvent emitted when refusal streaming is complete\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsestoplogprobs.md", + "filename": "openresponsestoplogprobs.md", + "category": "other", + "size_bytes": 427, + "title": "OpenResponsesTopLogprobs", + "structure": { + "title": "OpenResponsesTopLogprobs", + "headers": [ + { + "level": 1, + "text": "OpenResponsesTopLogprobs", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**OpenResponsesTopLogprobs**\nSections: Fields\nAlternative token with its log probability\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponsesusage.md", + "filename": "openresponsesusage.md", + "category": "other", + "size_bytes": 3015, + "title": "OpenResponsesUsage", + "structure": { + "title": "OpenResponsesUsage", + "headers": [ + { + "level": 1, + "text": "OpenResponsesUsage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 17 + }, + "summary": "**OpenResponsesUsage**\nSections: Fields\nToken usage information for the response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearch20250826tool.md", + "filename": "openresponseswebsearch20250826tool.md", + "category": "other", + "size_bytes": 4182, + "title": "OpenResponsesWebSearch20250826Tool", + "structure": { + "title": "OpenResponsesWebSearch20250826Tool", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearch20250826Tool", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesWebSearch20250826Tool**\nSections: Fields\nWeb search tool configuration (2025-08-26 version)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearch20250826toolfilters.md", + "filename": "openresponseswebsearch20250826toolfilters.md", + "category": "other", + "size_bytes": 314, + "title": "OpenResponsesWebSearch20250826ToolFilters", + "structure": { + "title": "OpenResponsesWebSearch20250826ToolFilters", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearch20250826ToolFilters", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearch20250826ToolFilters**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `allowed_domains` | List[...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearch20250826tooltype.md", + "filename": "openresponseswebsearch20250826tooltype.md", + "category": "other", + "size_bytes": 215, + "title": "OpenResponsesWebSearch20250826ToolType", + "structure": { + "title": "OpenResponsesWebSearch20250826ToolType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearch20250826ToolType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearch20250826ToolType**\nSections: Values\n| Name | Value | | ----------------------- | ----------------------- | | `WEB_SEARCH_2025_08_26` | web_search_2025_08_26 |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchpreview20250311tool.md", + "filename": "openresponseswebsearchpreview20250311tool.md", + "category": "other", + "size_bytes": 3251, + "title": "OpenResponsesWebSearchPreview20250311Tool", + "structure": { + "title": "OpenResponsesWebSearchPreview20250311Tool", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchPreview20250311Tool", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesWebSearchPreview20250311Tool**\nSections: Fields\nWeb search preview tool configuration (2025-03-11 version)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchpreview20250311tooltype.md", + "filename": "openresponseswebsearchpreview20250311tooltype.md", + "category": "other", + "size_bytes": 270, + "title": "OpenResponsesWebSearchPreview20250311ToolType", + "structure": { + "title": "OpenResponsesWebSearchPreview20250311ToolType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchPreview20250311ToolType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearchPreview20250311ToolType**\nSections: Values\n| Name | Value | | ------------------------------- | ------------------------------- | | `WEB_SEARCH_PREVIEW_2025_03_11` | web_search_preview_2025_...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchpreviewtool.md", + "filename": "openresponseswebsearchpreviewtool.md", + "category": "other", + "size_bytes": 3022, + "title": "OpenResponsesWebSearchPreviewTool", + "structure": { + "title": "OpenResponsesWebSearchPreviewTool", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchPreviewTool", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**OpenResponsesWebSearchPreviewTool**\nSections: Fields\nWeb search preview tool configuration\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchpreviewtooltype.md", + "filename": "openresponseswebsearchpreviewtooltype.md", + "category": "other", + "size_bytes": 196, + "title": "OpenResponsesWebSearchPreviewToolType", + "structure": { + "title": "OpenResponsesWebSearchPreviewToolType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchPreviewToolType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearchPreviewToolType**\nSections: Values\n| Name | Value | | -------------------- | -------------------- | | `WEB_SEARCH_PREVIEW` | web_search_preview |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchtool.md", + "filename": "openresponseswebsearchtool.md", + "category": "other", + "size_bytes": 4008, + "title": "OpenResponsesWebSearchTool", + "structure": { + "title": "OpenResponsesWebSearchTool", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchTool", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**OpenResponsesWebSearchTool**\nSections: Fields\nWeb search tool configuration\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchtoolfilters.md", + "filename": "openresponseswebsearchtoolfilters.md", + "category": "other", + "size_bytes": 306, + "title": "OpenResponsesWebSearchToolFilters", + "structure": { + "title": "OpenResponsesWebSearchToolFilters", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchToolFilters", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearchToolFilters**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `allowed_domains` | List[...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/openresponseswebsearchtooltype.md", + "filename": "openresponseswebsearchtooltype.md", + "category": "other", + "size_bytes": 141, + "title": "OpenResponsesWebSearchToolType", + "structure": { + "title": "OpenResponsesWebSearchToolType", + "headers": [ + { + "level": 1, + "text": "OpenResponsesWebSearchToolType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OpenResponsesWebSearchToolType**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `WEB_SEARCH` | web_search |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/order.md", + "filename": "order.md", + "category": "other", + "size_bytes": 184, + "title": "Order", + "structure": { + "title": "Order", + "headers": [ + { + "level": 1, + "text": "Order", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Order**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/outputitemimagegenerationcall.md", + "filename": "outputitemimagegenerationcall.md", + "category": "other", + "size_bytes": 3086, + "title": "OutputItemImageGenerationCall", + "structure": { + "title": "OutputItemImageGenerationCall", + "headers": [ + { + "level": 1, + "text": "OutputItemImageGenerationCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**OutputItemImageGenerationCall**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputitemimagegenerationcalltype.md", + "filename": "outputitemimagegenerationcalltype.md", + "category": "other", + "size_bytes": 210, + "title": "OutputItemImageGenerationCallType", + "structure": { + "title": "OutputItemImageGenerationCallType", + "headers": [ + { + "level": 1, + "text": "OutputItemImageGenerationCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputItemImageGenerationCallType**\nSections: Values\n| Name | Value | | ----------------------- | ----------------------- | | `IMAGE_GENERATION_CALL` | image_generation_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessage.md", + "filename": "outputmessage.md", + "category": "other", + "size_bytes": 2646, + "title": "OutputMessage", + "structure": { + "title": "OutputMessage", + "headers": [ + { + "level": 1, + "text": "OutputMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**OutputMessage**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessagecontent.md", + "filename": "outputmessagecontent.md", + "category": "other", + "size_bytes": 285, + "title": "OutputMessageContent", + "structure": { + "title": "OutputMessageContent", + "headers": [ + { + "level": 1, + "text": "OutputMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseOutputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesRefusalContent`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseOutputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesRefusalContent = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**OutputMessageContent**\nSections: Supported Types, `components.ResponseOutputText`, `components.OpenAIResponsesRefusalContent`\nvalue: components.ResponseOutputText = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/outputmessagerole.md", + "filename": "outputmessagerole.md", + "category": "other", + "size_bytes": 122, + "title": "OutputMessageRole", + "structure": { + "title": "OutputMessageRole", + "headers": [ + { + "level": 1, + "text": "OutputMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputMessageRole**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `ASSISTANT` | assistant |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessagestatuscompleted.md", + "filename": "outputmessagestatuscompleted.md", + "category": "other", + "size_bytes": 133, + "title": "OutputMessageStatusCompleted", + "structure": { + "title": "OutputMessageStatusCompleted", + "headers": [ + { + "level": 1, + "text": "OutputMessageStatusCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputMessageStatusCompleted**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `COMPLETED` | completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessagestatusincomplete.md", + "filename": "outputmessagestatusincomplete.md", + "category": "other", + "size_bytes": 140, + "title": "OutputMessageStatusIncomplete", + "structure": { + "title": "OutputMessageStatusIncomplete", + "headers": [ + { + "level": 1, + "text": "OutputMessageStatusIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputMessageStatusIncomplete**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessagestatusinprogress.md", + "filename": "outputmessagestatusinprogress.md", + "category": "other", + "size_bytes": 146, + "title": "OutputMessageStatusInProgress", + "structure": { + "title": "OutputMessageStatusInProgress", + "headers": [ + { + "level": 1, + "text": "OutputMessageStatusInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputMessageStatusInProgress**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmessagestatusunion.md", + "filename": "outputmessagestatusunion.md", + "category": "other", + "size_bytes": 440, + "title": "OutputMessageStatusUnion", + "structure": { + "title": "OutputMessageStatusUnion", + "headers": [ + { + "level": 1, + "text": "OutputMessageStatusUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OutputMessageStatusCompleted`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OutputMessageStatusIncomplete`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OutputMessageStatusInProgress`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OutputMessageStatusCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.OutputMessageStatusIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.OutputMessageStatusInProgress = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**OutputMessageStatusUnion**\nSections: Supported Types, `components.OutputMessageStatusCompleted`, `components.OutputMessageStatusIncomplete`, `components.OutputMessageStatusInProgress`\nvalue: components.OutputMessageStatusCompleted = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/outputmessagetype.md", + "filename": "outputmessagetype.md", + "category": "other", + "size_bytes": 110, + "title": "OutputMessageType", + "structure": { + "title": "OutputMessageType", + "headers": [ + { + "level": 1, + "text": "OutputMessageType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputMessageType**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputmodality.md", + "filename": "outputmodality.md", + "category": "other", + "size_bytes": 221, + "title": "OutputModality", + "structure": { + "title": "OutputModality", + "headers": [ + { + "level": 1, + "text": "OutputModality", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**OutputModality**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `TEXT` | text | | `IMAGE` | image | | `EMBEDDINGS` | embeddings | | `AUDIO` | audio |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/outputtokensdetails.md", + "filename": "outputtokensdetails.md", + "category": "other", + "size_bytes": 292, + "title": "OutputTokensDetails", + "structure": { + "title": "OutputTokensDetails", + "headers": [ + { + "level": 1, + "text": "OutputTokensDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**OutputTokensDetails**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `reasoning_tokens` | *floa...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/parameter.md", + "filename": "parameter.md", + "category": "other", + "size_bytes": 1324, + "title": "Parameter", + "structure": { + "title": "Parameter", + "headers": [ + { + "level": 1, + "text": "Parameter", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 31 + }, + "summary": "**Parameter**\nSections: Values\n| Name | Value | | --------------------- | --------------------- | | `TEMPERATURE` | temperature | | `TOP_P` | top_p | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/part1.md", + "filename": "part1.md", + "category": "other", + "size_bytes": 383, + "title": "Part1", + "structure": { + "title": "Part1", + "headers": [ + { + "level": 1, + "text": "Part1", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseOutputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ReasoningTextContent`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesRefusalContent`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseOutputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ReasoningTextContent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesRefusalContent = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**Part1**\nSections: Supported Types, `components.ResponseOutputText`, `components.ReasoningTextContent`, `components.OpenAIResponsesRefusalContent`\nvalue: components.ResponseOutputText = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/part2.md", + "filename": "part2.md", + "category": "other", + "size_bytes": 383, + "title": "Part2", + "structure": { + "title": "Part2", + "headers": [ + { + "level": 1, + "text": "Part2", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseOutputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ReasoningTextContent`", + "line": 12 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesRefusalContent`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseOutputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ReasoningTextContent = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesRefusalContent = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**Part2**\nSections: Supported Types, `components.ResponseOutputText`, `components.ReasoningTextContent`, `components.OpenAIResponsesRefusalContent`\nvalue: components.ResponseOutputText = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/partition.md", + "filename": "partition.md", + "category": "other", + "size_bytes": 300, + "title": "Partition", + "structure": { + "title": "Partition", + "headers": [ + { + "level": 1, + "text": "Partition", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**Partition**\nSections: Values\nPartitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/payloadtoolargeresponseerrordata.md", + "filename": "payloadtoolargeresponseerrordata.md", + "category": "other", + "size_bytes": 677, + "title": "PayloadTooLargeResponseErrorData", + "structure": { + "title": "PayloadTooLargeResponseErrorData", + "headers": [ + { + "level": 1, + "text": "PayloadTooLargeResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**PayloadTooLargeResponseErrorData**\nSections: Fields\nError data for PayloadTooLargeResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/paymentrequiredresponseerrordata.md", + "filename": "paymentrequiredresponseerrordata.md", + "category": "other", + "size_bytes": 677, + "title": "PaymentRequiredResponseErrorData", + "structure": { + "title": "PaymentRequiredResponseErrorData", + "headers": [ + { + "level": 1, + "text": "PaymentRequiredResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**PaymentRequiredResponseErrorData**\nSections: Fields\nError data for PaymentRequiredResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/pdfparserengine.md", + "filename": "pdfparserengine.md", + "category": "other", + "size_bytes": 242, + "title": "PDFParserEngine", + "structure": { + "title": "PDFParserEngine", + "headers": [ + { + "level": 1, + "text": "PDFParserEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**PDFParserEngine**\nSections: Values\nThe engine to use for parsing PDF files.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/pdfparseroptions.md", + "filename": "pdfparseroptions.md", + "category": "other", + "size_bytes": 963, + "title": "PDFParserOptions", + "structure": { + "title": "PDFParserOptions", + "headers": [ + { + "level": 1, + "text": "PDFParserOptions", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**PDFParserOptions**\nSections: Fields\nOptions for PDF parsing.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/percentilelatencycutoffs.md", + "filename": "percentilelatencycutoffs.md", + "category": "other", + "size_bytes": 921, + "title": "PercentileLatencyCutoffs", + "structure": { + "title": "PercentileLatencyCutoffs", + "headers": [ + { + "level": 1, + "text": "PercentileLatencyCutoffs", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**PercentileLatencyCutoffs**\nSections: Fields\nPercentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/percentilestats.md", + "filename": "percentilestats.md", + "category": "other", + "size_bytes": 1055, + "title": "PercentileStats", + "structure": { + "title": "PercentileStats", + "headers": [ + { + "level": 1, + "text": "PercentileStats", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**PercentileStats**\nSections: Fields\nLatency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests...\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/percentilethroughputcutoffs.md", + "filename": "percentilethroughputcutoffs.md", + "category": "other", + "size_bytes": 1071, + "title": "PercentileThroughputCutoffs", + "structure": { + "title": "PercentileThroughputCutoffs", + "headers": [ + { + "level": 1, + "text": "PercentileThroughputCutoffs", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**PercentileThroughputCutoffs**\nSections: Fields\nPercentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/perrequestlimits.md", + "filename": "perrequestlimits.md", + "category": "other", + "size_bytes": 865, + "title": "PerRequestLimits", + "structure": { + "title": "PerRequestLimits", + "headers": [ + { + "level": 1, + "text": "PerRequestLimits", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**PerRequestLimits**\nSections: Fields\nPer-request token limits\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/preferredmaxlatency.md", + "filename": "preferredmaxlatency.md", + "category": "other", + "size_bytes": 617, + "title": "PreferredMaxLatency", + "structure": { + "title": "PreferredMaxLatency", + "headers": [ + { + "level": 1, + "text": "PreferredMaxLatency", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`float`", + "line": 8 + }, + { + "level": 3, + "text": "`components.PercentileLatencyCutoffs`", + "line": 14 + }, + { + "level": 3, + "text": "`Any`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: float = /* values here */" + }, + { + "language": "python", + "code": "value: components.PercentileLatencyCutoffs = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**PreferredMaxLatency**\nSections: Supported Types, `float`, `components.PercentileLatencyCutoffs`, `Any`\nPreferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in rou...\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.833333333333333 + } + } + }, + { + "path": "docs/components/preferredminthroughput.md", + "filename": "preferredminthroughput.md", + "category": "other", + "size_bytes": 639, + "title": "PreferredMinThroughput", + "structure": { + "title": "PreferredMinThroughput", + "headers": [ + { + "level": 1, + "text": "PreferredMinThroughput", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`float`", + "line": 8 + }, + { + "level": 3, + "text": "`components.PercentileThroughputCutoffs`", + "line": 14 + }, + { + "level": 3, + "text": "`Any`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: float = /* values here */" + }, + { + "language": "python", + "code": "value: components.PercentileThroughputCutoffs = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**PreferredMinThroughput**\nSections: Supported Types, `float`, `components.PercentileThroughputCutoffs`, `Any`\nPreferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprior...\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.833333333333333 + } + } + }, + { + "path": "docs/components/pricing.md", + "filename": "pricing.md", + "category": "other", + "size_bytes": 1894, + "title": "Pricing", + "structure": { + "title": "Pricing", + "headers": [ + { + "level": 1, + "text": "Pricing", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 21 + }, + "summary": "**Pricing**\nSections: Fields\n| Field | Type | Required | Description | Example | | -------------------- | -------------------- | -------------------- | ------------...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/prompttokensdetails.md", + "filename": "prompttokensdetails.md", + "category": "other", + "size_bytes": 2451, + "title": "PromptTokensDetails", + "structure": { + "title": "PromptTokensDetails", + "headers": [ + { + "level": 1, + "text": "PromptTokensDetails", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**PromptTokensDetails**\nSections: Fields\nDetailed prompt token usage\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providername.md", + "filename": "providername.md", + "category": "other", + "size_bytes": 3523, + "title": "ProviderName", + "structure": { + "title": "ProviderName", + "headers": [ + { + "level": 1, + "text": "ProviderName", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 81 + }, + "summary": "**ProviderName**\nSections: Values\n| Name | Value | | ------------------- | ------------------- | | `AI21` | AI21 | | `AION_LABS` | AionLabs | | `ALIBABA` ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/provideroverloadedresponseerrordata.md", + "filename": "provideroverloadedresponseerrordata.md", + "category": "other", + "size_bytes": 683, + "title": "ProviderOverloadedResponseErrorData", + "structure": { + "title": "ProviderOverloadedResponseErrorData", + "headers": [ + { + "level": 1, + "text": "ProviderOverloadedResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ProviderOverloadedResponseErrorData**\nSections: Fields\nError data for ProviderOverloadedResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferences.md", + "filename": "providerpreferences.md", + "category": "other", + "size_bytes": 26211, + "title": "ProviderPreferences", + "structure": { + "title": "ProviderPreferences", + "headers": [ + { + "level": 1, + "text": "ProviderPreferences", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 22 + }, + "summary": "**ProviderPreferences**\nSections: Fields\nProvider routing preferences for the request.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesby.md", + "filename": "providerpreferencesby.md", + "category": "other", + "size_bytes": 256, + "title": "ProviderPreferencesBy", + "structure": { + "title": "ProviderPreferencesBy", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesBy", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ProviderPreferencesBy**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesignore.md", + "filename": "providerpreferencesignore.md", + "category": "other", + "size_bytes": 204, + "title": "ProviderPreferencesIgnore", + "structure": { + "title": "ProviderPreferencesIgnore", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesIgnore", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ProviderPreferencesIgnore**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/providerpreferencesmaxprice.md", + "filename": "providerpreferencesmaxprice.md", + "category": "other", + "size_bytes": 1378, + "title": "ProviderPreferencesMaxPrice", + "structure": { + "title": "ProviderPreferencesMaxPrice", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesMaxPrice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ProviderPreferencesMaxPrice**\nSections: Fields\nThe object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesonly.md", + "filename": "providerpreferencesonly.md", + "category": "other", + "size_bytes": 202, + "title": "ProviderPreferencesOnly", + "structure": { + "title": "ProviderPreferencesOnly", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesOnly", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ProviderPreferencesOnly**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/providerpreferencesorder.md", + "filename": "providerpreferencesorder.md", + "category": "other", + "size_bytes": 203, + "title": "ProviderPreferencesOrder", + "structure": { + "title": "ProviderPreferencesOrder", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesOrder", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ProviderPreferencesOrder**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/providerpreferencespartition.md", + "filename": "providerpreferencespartition.md", + "category": "other", + "size_bytes": 319, + "title": "ProviderPreferencesPartition", + "structure": { + "title": "ProviderPreferencesPartition", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesPartition", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ProviderPreferencesPartition**\nSections: Values\nPartitioning strategy for sorting: \"model\" (default) groups endpoints by model before sorting (fallback models remain fallbacks), \"none\" sorts all endpoints together regardless of model.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesprovidersort.md", + "filename": "providerpreferencesprovidersort.md", + "category": "other", + "size_bytes": 266, + "title": "ProviderPreferencesProviderSort", + "structure": { + "title": "ProviderPreferencesProviderSort", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesProviderSort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ProviderPreferencesProviderSort**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesprovidersortconfig.md", + "filename": "providerpreferencesprovidersortconfig.md", + "category": "other", + "size_bytes": 3840, + "title": "ProviderPreferencesProviderSortConfig", + "structure": { + "title": "ProviderPreferencesProviderSortConfig", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesProviderSortConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ProviderPreferencesProviderSortConfig**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesprovidersortconfigenum.md", + "filename": "providerpreferencesprovidersortconfigenum.md", + "category": "other", + "size_bytes": 216, + "title": "ProviderPreferencesProviderSortConfigEnum", + "structure": { + "title": "ProviderPreferencesProviderSortConfigEnum", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesProviderSortConfigEnum", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ProviderPreferencesProviderSortConfigEnum**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `PRICE` | price | | `THROUGHPUT` | throughput | | `LATENCY` | latency |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencesprovidersortconfigunion.md", + "filename": "providerpreferencesprovidersortconfigunion.md", + "category": "other", + "size_bytes": 369, + "title": "ProviderPreferencesProviderSortConfigUnion", + "structure": { + "title": "ProviderPreferencesProviderSortConfigUnion", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesProviderSortConfigUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderPreferencesProviderSortConfig`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ProviderPreferencesProviderSortConfigEnum`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderPreferencesProviderSortConfig = /* values here */" + }, + { + "language": "python", + "code": "value: components.ProviderPreferencesProviderSortConfigEnum = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ProviderPreferencesProviderSortConfigUnion**\nSections: Supported Types, `components.ProviderPreferencesProviderSortConfig`, `components.ProviderPreferencesProviderSortConfigEnum`\nvalue: components.ProviderPreferencesProviderSortConfig = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/providerpreferencessortenum.md", + "filename": "providerpreferencessortenum.md", + "category": "other", + "size_bytes": 202, + "title": "ProviderPreferencesSortEnum", + "structure": { + "title": "ProviderPreferencesSortEnum", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesSortEnum", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ProviderPreferencesSortEnum**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `PRICE` | price | | `THROUGHPUT` | throughput | | `LATENCY` | latency |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providerpreferencessortunion.md", + "filename": "providerpreferencessortunion.md", + "category": "other", + "size_bytes": 590, + "title": "ProviderPreferencesSortUnion", + "structure": { + "title": "ProviderPreferencesSortUnion", + "headers": [ + { + "level": 1, + "text": "ProviderPreferencesSortUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ProviderPreferencesProviderSort`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ProviderPreferencesProviderSortConfigUnion`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ProviderPreferencesSortEnum`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderPreferencesProviderSort = /* values here */" + }, + { + "language": "python", + "code": "value: components.ProviderPreferencesProviderSortConfigUnion = /* values here */" + }, + { + "language": "python", + "code": "value: components.ProviderPreferencesSortEnum = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**ProviderPreferencesSortUnion**\nSections: Supported Types, `components.ProviderPreferencesProviderSort`, `components.ProviderPreferencesProviderSortConfigUnion`, `components.ProviderPreferencesSortEnum`\nThe sorting strategy to use for this request, if \"order\" is not specified. When set, no load balancing is performed.\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/providersort.md", + "filename": "providersort.md", + "category": "other", + "size_bytes": 247, + "title": "ProviderSort", + "structure": { + "title": "ProviderSort", + "headers": [ + { + "level": 1, + "text": "ProviderSort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ProviderSort**\nSections: Values\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/providersortconfig.md", + "filename": "providersortconfig.md", + "category": "other", + "size_bytes": 3881, + "title": "ProviderSortConfig", + "structure": { + "title": "ProviderSortConfig", + "headers": [ + { + "level": 1, + "text": "ProviderSortConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ProviderSortConfig**\nSections: Fields\nThe provider sorting strategy (price, throughput, latency)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/publicendpoint.md", + "filename": "publicendpoint.md", + "category": "other", + "size_bytes": 18470, + "title": "PublicEndpoint", + "structure": { + "title": "PublicEndpoint", + "headers": [ + { + "level": 1, + "text": "PublicEndpoint", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 25 + }, + "summary": "**PublicEndpoint**\nSections: Fields\nInformation about a specific model endpoint\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/publicendpointquantization.md", + "filename": "publicendpointquantization.md", + "category": "other", + "size_bytes": 327, + "title": "PublicEndpointQuantization", + "structure": { + "title": "PublicEndpointQuantization", + "headers": [ + { + "level": 1, + "text": "PublicEndpointQuantization", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 16 + }, + "summary": "**PublicEndpointQuantization**\nSections: Values\n| Name | Value | | --------- | --------- | | `INT4` | int4 | | `INT8` | int8 | | `FP4` | fp4 | | `FP6` | fp6 | | `FP8` | fp8 | | `FP16` | fp16...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/publicpricing.md", + "filename": "publicpricing.md", + "category": "other", + "size_bytes": 1935, + "title": "PublicPricing", + "structure": { + "title": "PublicPricing", + "headers": [ + { + "level": 1, + "text": "PublicPricing", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 23 + }, + "summary": "**PublicPricing**\nSections: Fields\nPricing information for the model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/quantization.md", + "filename": "quantization.md", + "category": "other", + "size_bytes": 313, + "title": "Quantization", + "structure": { + "title": "Quantization", + "headers": [ + { + "level": 1, + "text": "Quantization", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 16 + }, + "summary": "**Quantization**\nSections: Values\n| Name | Value | | --------- | --------- | | `INT4` | int4 | | `INT8` | int8 | | `FP4` | fp4 | | `FP6` | fp6 | | `FP8` | fp8 | | `FP16` | fp16...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reason.md", + "filename": "reason.md", + "category": "other", + "size_bytes": 205, + "title": "Reason", + "structure": { + "title": "Reason", + "headers": [ + { + "level": 1, + "text": "Reason", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**Reason**\nSections: Values\n| Name | Value | | ------------------- | ------------------- | | `MAX_OUTPUT_TOKENS` | max_output_tokens | | `CONTENT_FILTER` | content_filter |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoning.md", + "filename": "reasoning.md", + "category": "other", + "size_bytes": 1376, + "title": "Reasoning", + "structure": { + "title": "Reasoning", + "headers": [ + { + "level": 1, + "text": "Reasoning", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**Reasoning**\nSections: Fields\nConfiguration options for reasoning models\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailencrypted.md", + "filename": "reasoningdetailencrypted.md", + "category": "other", + "size_bytes": 3252, + "title": "ReasoningDetailEncrypted", + "structure": { + "title": "ReasoningDetailEncrypted", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailEncrypted", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ReasoningDetailEncrypted**\nSections: Fields\nReasoning detail encrypted schema\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailencryptedformat.md", + "filename": "reasoningdetailencryptedformat.md", + "category": "other", + "size_bytes": 541, + "title": "ReasoningDetailEncryptedFormat", + "structure": { + "title": "ReasoningDetailEncryptedFormat", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailEncryptedFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ReasoningDetailEncryptedFormat**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `UNKNOWN` | unknown | | `OPENAI_RESP...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailencryptedtype.md", + "filename": "reasoningdetailencryptedtype.md", + "category": "other", + "size_bytes": 193, + "title": "ReasoningDetailEncryptedType", + "structure": { + "title": "ReasoningDetailEncryptedType", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailEncryptedType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ReasoningDetailEncryptedType**\nSections: Values\n| Name | Value | | --------------------- | --------------------- | | `REASONING_ENCRYPTED` | reasoning.encrypted |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailsummary.md", + "filename": "reasoningdetailsummary.md", + "category": "other", + "size_bytes": 3136, + "title": "ReasoningDetailSummary", + "structure": { + "title": "ReasoningDetailSummary", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailSummary", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ReasoningDetailSummary**\nSections: Fields\nReasoning detail summary schema\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailsummaryformat.md", + "filename": "reasoningdetailsummaryformat.md", + "category": "other", + "size_bytes": 539, + "title": "ReasoningDetailSummaryFormat", + "structure": { + "title": "ReasoningDetailSummaryFormat", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailSummaryFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ReasoningDetailSummaryFormat**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `UNKNOWN` | unknown | | `OPENAI_RESP...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailsummarytype.md", + "filename": "reasoningdetailsummarytype.md", + "category": "other", + "size_bytes": 179, + "title": "ReasoningDetailSummaryType", + "structure": { + "title": "ReasoningDetailSummaryType", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailSummaryType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ReasoningDetailSummaryType**\nSections: Values\n| Name | Value | | ------------------- | ------------------- | | `REASONING_SUMMARY` | reasoning.summary |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailtext.md", + "filename": "reasoningdetailtext.md", + "category": "other", + "size_bytes": 3376, + "title": "ReasoningDetailText", + "structure": { + "title": "ReasoningDetailText", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**ReasoningDetailText**\nSections: Fields\nReasoning detail text schema\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailtextformat.md", + "filename": "reasoningdetailtextformat.md", + "category": "other", + "size_bytes": 536, + "title": "ReasoningDetailTextFormat", + "structure": { + "title": "ReasoningDetailTextFormat", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailTextFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ReasoningDetailTextFormat**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `UNKNOWN` | unknown | | `OPENAI_RESP...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailtexttype.md", + "filename": "reasoningdetailtexttype.md", + "category": "other", + "size_bytes": 158, + "title": "ReasoningDetailTextType", + "structure": { + "title": "ReasoningDetailTextType", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ReasoningDetailTextType**\nSections: Values\n| Name | Value | | ---------------- | ---------------- | | `REASONING_TEXT` | reasoning.text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningdetailunion.md", + "filename": "reasoningdetailunion.md", + "category": "other", + "size_bytes": 425, + "title": "ReasoningDetailUnion", + "structure": { + "title": "ReasoningDetailUnion", + "headers": [ + { + "level": 1, + "text": "ReasoningDetailUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ReasoningDetailSummary`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ReasoningDetailEncrypted`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ReasoningDetailText`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ReasoningDetailSummary = /* values here */" + }, + { + "language": "python", + "code": "value: components.ReasoningDetailEncrypted = /* values here */" + }, + { + "language": "python", + "code": "value: components.ReasoningDetailText = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**ReasoningDetailUnion**\nSections: Supported Types, `components.ReasoningDetailSummary`, `components.ReasoningDetailEncrypted`, `components.ReasoningDetailText`\nReasoning detail union schema\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/reasoningsummarytext.md", + "filename": "reasoningsummarytext.md", + "category": "other", + "size_bytes": 1371, + "title": "ReasoningSummaryText", + "structure": { + "title": "ReasoningSummaryText", + "headers": [ + { + "level": 1, + "text": "ReasoningSummaryText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ReasoningSummaryText**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningsummarytexttype.md", + "filename": "reasoningsummarytexttype.md", + "category": "other", + "size_bytes": 147, + "title": "ReasoningSummaryTextType", + "structure": { + "title": "ReasoningSummaryTextType", + "headers": [ + { + "level": 1, + "text": "ReasoningSummaryTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ReasoningSummaryTextType**\nSections: Values\n| Name | Value | | -------------- | -------------- | | `SUMMARY_TEXT` | summary_text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningsummaryverbosity.md", + "filename": "reasoningsummaryverbosity.md", + "category": "other", + "size_bytes": 180, + "title": "ReasoningSummaryVerbosity", + "structure": { + "title": "ReasoningSummaryVerbosity", + "headers": [ + { + "level": 1, + "text": "ReasoningSummaryVerbosity", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ReasoningSummaryVerbosity**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `AUTO` | auto | | `CONCISE` | concise | | `DETAILED` | detailed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningtextcontent.md", + "filename": "reasoningtextcontent.md", + "category": "other", + "size_bytes": 1371, + "title": "ReasoningTextContent", + "structure": { + "title": "ReasoningTextContent", + "headers": [ + { + "level": 1, + "text": "ReasoningTextContent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ReasoningTextContent**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/reasoningtextcontenttype.md", + "filename": "reasoningtextcontenttype.md", + "category": "other", + "size_bytes": 159, + "title": "ReasoningTextContentType", + "structure": { + "title": "ReasoningTextContentType", + "headers": [ + { + "level": 1, + "text": "ReasoningTextContentType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ReasoningTextContentType**\nSections: Values\n| Name | Value | | ---------------- | ---------------- | | `REASONING_TEXT` | reasoning_text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/requesttimeoutresponseerrordata.md", + "filename": "requesttimeoutresponseerrordata.md", + "category": "other", + "size_bytes": 675, + "title": "RequestTimeoutResponseErrorData", + "structure": { + "title": "RequestTimeoutResponseErrorData", + "headers": [ + { + "level": 1, + "text": "RequestTimeoutResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**RequestTimeoutResponseErrorData**\nSections: Fields\nError data for RequestTimeoutResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformat.md", + "filename": "responseformat.md", + "category": "other", + "size_bytes": 665, + "title": "ResponseFormat", + "structure": { + "title": "ResponseFormat", + "headers": [ + { + "level": 1, + "text": "ResponseFormat", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponseFormatText`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ResponseFormatJSONObject`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ResponseFormatJSONSchema`", + "line": 20 + }, + { + "level": 3, + "text": "`components.ResponseFormatTextGrammar`", + "line": 26 + }, + { + "level": 3, + "text": "`components.ResponseFormatTextPython`", + "line": 32 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseFormatText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseFormatJSONObject = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseFormatJSONSchema = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseFormatTextGrammar = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseFormatTextPython = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 13, + "line_count": 38 + }, + "summary": "**ResponseFormat**\nSections: Supported Types, `components.ResponseFormatText`, `components.ResponseFormatJSONObject`, `components.ResponseFormatJSONSchema`, `components.ResponseFormatTextGrammar`\nResponse format configuration\n(13 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responseformatjsonobject.md", + "filename": "responseformatjsonobject.md", + "category": "other", + "size_bytes": 1166, + "title": "ResponseFormatJSONObject", + "structure": { + "title": "ResponseFormatJSONObject", + "headers": [ + { + "level": 1, + "text": "ResponseFormatJSONObject", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ResponseFormatJSONObject**\nSections: Fields\nJSON object response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformatjsonobjecttype.md", + "filename": "responseformatjsonobjecttype.md", + "category": "other", + "size_bytes": 145, + "title": "ResponseFormatJSONObjectType", + "structure": { + "title": "ResponseFormatJSONObjectType", + "headers": [ + { + "level": 1, + "text": "ResponseFormatJSONObjectType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseFormatJSONObjectType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `JSON_OBJECT` | json_object |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformatjsonschema.md", + "filename": "responseformatjsonschema.md", + "category": "other", + "size_bytes": 4079, + "title": "ResponseFormatJSONSchema", + "structure": { + "title": "ResponseFormatJSONSchema", + "headers": [ + { + "level": 1, + "text": "ResponseFormatJSONSchema", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseFormatJSONSchema**\nSections: Fields\nJSON Schema response format for structured outputs\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformatjsonschematype.md", + "filename": "responseformatjsonschematype.md", + "category": "other", + "size_bytes": 145, + "title": "ResponseFormatJSONSchemaType", + "structure": { + "title": "ResponseFormatJSONSchemaType", + "headers": [ + { + "level": 1, + "text": "ResponseFormatJSONSchemaType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseFormatJSONSchemaType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `JSON_SCHEMA` | json_schema |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattext.md", + "filename": "responseformattext.md", + "category": "other", + "size_bytes": 1017, + "title": "ResponseFormatText", + "structure": { + "title": "ResponseFormatText", + "headers": [ + { + "level": 1, + "text": "ResponseFormatText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ResponseFormatText**\nSections: Fields\nDefault text response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattextconfig.md", + "filename": "responseformattextconfig.md", + "category": "other", + "size_bytes": 460, + "title": "ResponseFormatTextConfig", + "structure": { + "title": "ResponseFormatTextConfig", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextConfig", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponsesFormatText`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ResponseFormatJSONObject`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ResponsesFormatTextJSONSchemaConfig`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponsesFormatText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseFormatJSONObject = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesFormatTextJSONSchemaConfig = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**ResponseFormatTextConfig**\nSections: Supported Types, `components.ResponsesFormatText`, `components.ResponseFormatJSONObject`, `components.ResponsesFormatTextJSONSchemaConfig`\nText response format configuration\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responseformattextgrammar.md", + "filename": "responseformattextgrammar.md", + "category": "other", + "size_bytes": 1940, + "title": "ResponseFormatTextGrammar", + "structure": { + "title": "ResponseFormatTextGrammar", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextGrammar", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseFormatTextGrammar**\nSections: Fields\nCustom grammar response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattextgrammartype.md", + "filename": "responseformattextgrammartype.md", + "category": "other", + "size_bytes": 122, + "title": "ResponseFormatTextGrammarType", + "structure": { + "title": "ResponseFormatTextGrammarType", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextGrammarType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseFormatTextGrammarType**\nSections: Values\n| Name | Value | | --------- | --------- | | `GRAMMAR` | grammar |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattextpython.md", + "filename": "responseformattextpython.md", + "category": "other", + "size_bytes": 1166, + "title": "ResponseFormatTextPython", + "structure": { + "title": "ResponseFormatTextPython", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextPython", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ResponseFormatTextPython**\nSections: Fields\nPython code response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattextpythontype.md", + "filename": "responseformattextpythontype.md", + "category": "other", + "size_bytes": 115, + "title": "ResponseFormatTextPythonType", + "structure": { + "title": "ResponseFormatTextPythonType", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextPythonType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseFormatTextPythonType**\nSections: Values\n| Name | Value | | -------- | -------- | | `PYTHON` | python |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseformattexttype.md", + "filename": "responseformattexttype.md", + "category": "other", + "size_bytes": 97, + "title": "ResponseFormatTextType", + "structure": { + "title": "ResponseFormatTextType", + "headers": [ + { + "level": 1, + "text": "ResponseFormatTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseFormatTextType**\nSections: Values\n| Name | Value | | ------ | ------ | | `TEXT` | text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputaudio.md", + "filename": "responseinputaudio.md", + "category": "other", + "size_bytes": 1523, + "title": "ResponseInputAudio", + "structure": { + "title": "ResponseInputAudio", + "headers": [ + { + "level": 1, + "text": "ResponseInputAudio", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseInputAudio**\nSections: Fields\nAudio input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputaudioformat.md", + "filename": "responseinputaudioformat.md", + "category": "other", + "size_bytes": 111, + "title": "ResponseInputAudioFormat", + "structure": { + "title": "ResponseInputAudioFormat", + "headers": [ + { + "level": 1, + "text": "ResponseInputAudioFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ResponseInputAudioFormat**\nSections: Values\n| Name | Value | | ----- | ----- | | `MP3` | mp3 | | `WAV` | wav |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputaudioinputaudio.md", + "filename": "responseinputaudioinputaudio.md", + "category": "other", + "size_bytes": 1379, + "title": "ResponseInputAudioInputAudio", + "structure": { + "title": "ResponseInputAudioInputAudio", + "headers": [ + { + "level": 1, + "text": "ResponseInputAudioInputAudio", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ResponseInputAudioInputAudio**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputaudiotype.md", + "filename": "responseinputaudiotype.md", + "category": "other", + "size_bytes": 139, + "title": "ResponseInputAudioType", + "structure": { + "title": "ResponseInputAudioType", + "headers": [ + { + "level": 1, + "text": "ResponseInputAudioType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseInputAudioType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_AUDIO` | input_audio |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputfile.md", + "filename": "responseinputfile.md", + "category": "other", + "size_bytes": 2227, + "title": "ResponseInputFile", + "structure": { + "title": "ResponseInputFile", + "headers": [ + { + "level": 1, + "text": "ResponseInputFile", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ResponseInputFile**\nSections: Fields\nFile input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputfiletype.md", + "filename": "responseinputfiletype.md", + "category": "other", + "size_bytes": 132, + "title": "ResponseInputFileType", + "structure": { + "title": "ResponseInputFileType", + "headers": [ + { + "level": 1, + "text": "ResponseInputFileType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseInputFileType**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INPUT_FILE` | input_file |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputimage.md", + "filename": "responseinputimage.md", + "category": "other", + "size_bytes": 1729, + "title": "ResponseInputImage", + "structure": { + "title": "ResponseInputImage", + "headers": [ + { + "level": 1, + "text": "ResponseInputImage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ResponseInputImage**\nSections: Fields\nImage input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputimagedetail.md", + "filename": "responseinputimagedetail.md", + "category": "other", + "size_bytes": 139, + "title": "ResponseInputImageDetail", + "structure": { + "title": "ResponseInputImageDetail", + "headers": [ + { + "level": 1, + "text": "ResponseInputImageDetail", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ResponseInputImageDetail**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto | | `HIGH` | high | | `LOW` | low |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputimagetype.md", + "filename": "responseinputimagetype.md", + "category": "other", + "size_bytes": 139, + "title": "ResponseInputImageType", + "structure": { + "title": "ResponseInputImageType", + "headers": [ + { + "level": 1, + "text": "ResponseInputImageType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseInputImageType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_IMAGE` | input_image |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputtext.md", + "filename": "responseinputtext.md", + "category": "other", + "size_bytes": 1297, + "title": "ResponseInputText", + "structure": { + "title": "ResponseInputText", + "headers": [ + { + "level": 1, + "text": "ResponseInputText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseInputText**\nSections: Fields\nText input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputtexttype.md", + "filename": "responseinputtexttype.md", + "category": "other", + "size_bytes": 132, + "title": "ResponseInputTextType", + "structure": { + "title": "ResponseInputTextType", + "headers": [ + { + "level": 1, + "text": "ResponseInputTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseInputTextType**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INPUT_TEXT` | input_text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputvideo.md", + "filename": "responseinputvideo.md", + "category": "other", + "size_bytes": 1331, + "title": "ResponseInputVideo", + "structure": { + "title": "ResponseInputVideo", + "headers": [ + { + "level": 1, + "text": "ResponseInputVideo", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseInputVideo**\nSections: Fields\nVideo input content item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseinputvideotype.md", + "filename": "responseinputvideotype.md", + "category": "other", + "size_bytes": 139, + "title": "ResponseInputVideoType", + "structure": { + "title": "ResponseInputVideoType", + "headers": [ + { + "level": 1, + "text": "ResponseInputVideoType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseInputVideoType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `INPUT_VIDEO` | input_video |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseoutputtext.md", + "filename": "responseoutputtext.md", + "category": "other", + "size_bytes": 2229, + "title": "ResponseOutputText", + "structure": { + "title": "ResponseOutputText", + "headers": [ + { + "level": 1, + "text": "ResponseOutputText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ResponseOutputText**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseoutputtexttoplogprob.md", + "filename": "responseoutputtexttoplogprob.md", + "category": "other", + "size_bytes": 473, + "title": "ResponseOutputTextTopLogprob", + "structure": { + "title": "ResponseOutputTextTopLogprob", + "headers": [ + { + "level": 1, + "text": "ResponseOutputTextTopLogprob", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ResponseOutputTextTopLogprob**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `token` | *str*...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseoutputtexttype.md", + "filename": "responseoutputtexttype.md", + "category": "other", + "size_bytes": 139, + "title": "ResponseOutputTextType", + "structure": { + "title": "ResponseOutputTextType", + "headers": [ + { + "level": 1, + "text": "ResponseOutputTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponseOutputTextType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `OUTPUT_TEXT` | output_text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseserrorfield.md", + "filename": "responseserrorfield.md", + "category": "other", + "size_bytes": 771, + "title": "ResponsesErrorField", + "structure": { + "title": "ResponsesErrorField", + "headers": [ + { + "level": 1, + "text": "ResponsesErrorField", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponsesErrorField**\nSections: Fields\nError information returned from the API\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesformattext.md", + "filename": "responsesformattext.md", + "category": "other", + "size_bytes": 1040, + "title": "ResponsesFormatText", + "structure": { + "title": "ResponsesFormatText", + "headers": [ + { + "level": 1, + "text": "ResponsesFormatText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ResponsesFormatText**\nSections: Fields\nPlain text response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesformattextjsonschemaconfig.md", + "filename": "responsesformattextjsonschemaconfig.md", + "category": "other", + "size_bytes": 3269, + "title": "ResponsesFormatTextJSONSchemaConfig", + "structure": { + "title": "ResponsesFormatTextJSONSchemaConfig", + "headers": [ + { + "level": 1, + "text": "ResponsesFormatTextJSONSchemaConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ResponsesFormatTextJSONSchemaConfig**\nSections: Fields\nJSON schema constrained response format\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesformattextjsonschemaconfigtype.md", + "filename": "responsesformattextjsonschemaconfigtype.md", + "category": "other", + "size_bytes": 156, + "title": "ResponsesFormatTextJSONSchemaConfigType", + "structure": { + "title": "ResponsesFormatTextJSONSchemaConfigType", + "headers": [ + { + "level": 1, + "text": "ResponsesFormatTextJSONSchemaConfigType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesFormatTextJSONSchemaConfigType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `JSON_SCHEMA` | json_schema |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesformattexttype.md", + "filename": "responsesformattexttype.md", + "category": "other", + "size_bytes": 98, + "title": "ResponsesFormatTextType", + "structure": { + "title": "ResponsesFormatTextType", + "headers": [ + { + "level": 1, + "text": "ResponsesFormatTextType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesFormatTextType**\nSections: Values\n| Name | Value | | ------ | ------ | | `TEXT` | text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesimagegenerationcall.md", + "filename": "responsesimagegenerationcall.md", + "category": "other", + "size_bytes": 3025, + "title": "ResponsesImageGenerationCall", + "structure": { + "title": "ResponsesImageGenerationCall", + "headers": [ + { + "level": 1, + "text": "ResponsesImageGenerationCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ResponsesImageGenerationCall**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesimagegenerationcalltype.md", + "filename": "responsesimagegenerationcalltype.md", + "category": "other", + "size_bytes": 209, + "title": "ResponsesImageGenerationCallType", + "structure": { + "title": "ResponsesImageGenerationCallType", + "headers": [ + { + "level": 1, + "text": "ResponsesImageGenerationCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesImageGenerationCallType**\nSections: Values\n| Name | Value | | ----------------------- | ----------------------- | | `IMAGE_GENERATION_CALL` | image_generation_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitem.md", + "filename": "responsesoutputitem.md", + "category": "other", + "size_bytes": 856, + "title": "ResponsesOutputItem", + "structure": { + "title": "ResponsesOutputItem", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItem", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponsesOutputMessage`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemReasoning`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFunctionCall`", + "line": 20 + }, + { + "level": 3, + "text": "`components.ResponsesWebSearchCallOutput`", + "line": 26 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFileSearchCall`", + "line": 32 + }, + { + "level": 3, + "text": "`components.ResponsesImageGenerationCall`", + "line": 38 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponsesOutputMessage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemReasoning = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFunctionCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesWebSearchCallOutput = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFileSearchCall = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesImageGenerationCall = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 15, + "line_count": 44 + }, + "summary": "**ResponsesOutputItem**\nSections: Supported Types, `components.ResponsesOutputMessage`, `components.ResponsesOutputItemReasoning`, `components.ResponsesOutputItemFunctionCall`, `components.ResponsesWebSearchCallOutput`\nAn output item from the response\n(15 words, 6 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 6, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responsesoutputitemfilesearchcall.md", + "filename": "responsesoutputitemfilesearchcall.md", + "category": "other", + "size_bytes": 3330, + "title": "ResponsesOutputItemFileSearchCall", + "structure": { + "title": "ResponsesOutputItemFileSearchCall", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFileSearchCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ResponsesOutputItemFileSearchCall**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfilesearchcalltype.md", + "filename": "responsesoutputitemfilesearchcalltype.md", + "category": "other", + "size_bytes": 184, + "title": "ResponsesOutputItemFileSearchCallType", + "structure": { + "title": "ResponsesOutputItemFileSearchCallType", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFileSearchCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemFileSearchCallType**\nSections: Values\n| Name | Value | | ------------------ | ------------------ | | `FILE_SEARCH_CALL` | file_search_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncall.md", + "filename": "responsesoutputitemfunctioncall.md", + "category": "other", + "size_bytes": 4190, + "title": "ResponsesOutputItemFunctionCall", + "structure": { + "title": "ResponsesOutputItemFunctionCall", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCall", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ResponsesOutputItemFunctionCall**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncallstatuscompleted.md", + "filename": "responsesoutputitemfunctioncallstatuscompleted.md", + "category": "other", + "size_bytes": 151, + "title": "ResponsesOutputItemFunctionCallStatusCompleted", + "structure": { + "title": "ResponsesOutputItemFunctionCallStatusCompleted", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCallStatusCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemFunctionCallStatusCompleted**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `COMPLETED` | completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncallstatusincomplete.md", + "filename": "responsesoutputitemfunctioncallstatusincomplete.md", + "category": "other", + "size_bytes": 158, + "title": "ResponsesOutputItemFunctionCallStatusIncomplete", + "structure": { + "title": "ResponsesOutputItemFunctionCallStatusIncomplete", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCallStatusIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemFunctionCallStatusIncomplete**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncallstatusinprogress.md", + "filename": "responsesoutputitemfunctioncallstatusinprogress.md", + "category": "other", + "size_bytes": 164, + "title": "ResponsesOutputItemFunctionCallStatusInProgress", + "structure": { + "title": "ResponsesOutputItemFunctionCallStatusInProgress", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCallStatusInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemFunctionCallStatusInProgress**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncallstatusunion.md", + "filename": "responsesoutputitemfunctioncallstatusunion.md", + "category": "other", + "size_bytes": 566, + "title": "ResponsesOutputItemFunctionCallStatusUnion", + "structure": { + "title": "ResponsesOutputItemFunctionCallStatusUnion", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCallStatusUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFunctionCallStatusCompleted`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFunctionCallStatusIncomplete`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemFunctionCallStatusInProgress`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponsesOutputItemFunctionCallStatusCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFunctionCallStatusIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemFunctionCallStatusInProgress = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**ResponsesOutputItemFunctionCallStatusUnion**\nSections: Supported Types, `components.ResponsesOutputItemFunctionCallStatusCompleted`, `components.ResponsesOutputItemFunctionCallStatusIncomplete`, `components.ResponsesOutputItemFunctionCallStatusInProgress`\nvalue: components.ResponsesOutputItemFunctionCallStatusCompleted = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responsesoutputitemfunctioncalltype.md", + "filename": "responsesoutputitemfunctioncalltype.md", + "category": "other", + "size_bytes": 164, + "title": "ResponsesOutputItemFunctionCallType", + "structure": { + "title": "ResponsesOutputItemFunctionCallType", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemFunctionCallType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemFunctionCallType**\nSections: Values\n| Name | Value | | --------------- | --------------- | | `FUNCTION_CALL` | function_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoning.md", + "filename": "responsesoutputitemreasoning.md", + "category": "other", + "size_bytes": 6250, + "title": "ResponsesOutputItemReasoning", + "structure": { + "title": "ResponsesOutputItemReasoning", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoning", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 17 + }, + "summary": "**ResponsesOutputItemReasoning**\nSections: Fields\nAn output item containing reasoning\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningformat.md", + "filename": "responsesoutputitemreasoningformat.md", + "category": "other", + "size_bytes": 582, + "title": "ResponsesOutputItemReasoningFormat", + "structure": { + "title": "ResponsesOutputItemReasoningFormat", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 15 + }, + "summary": "**ResponsesOutputItemReasoningFormat**\nSections: Values\nThe format of the reasoning content\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningstatuscompleted.md", + "filename": "responsesoutputitemreasoningstatuscompleted.md", + "category": "other", + "size_bytes": 148, + "title": "ResponsesOutputItemReasoningStatusCompleted", + "structure": { + "title": "ResponsesOutputItemReasoningStatusCompleted", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningStatusCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemReasoningStatusCompleted**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `COMPLETED` | completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningstatusincomplete.md", + "filename": "responsesoutputitemreasoningstatusincomplete.md", + "category": "other", + "size_bytes": 155, + "title": "ResponsesOutputItemReasoningStatusIncomplete", + "structure": { + "title": "ResponsesOutputItemReasoningStatusIncomplete", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningStatusIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemReasoningStatusIncomplete**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningstatusinprogress.md", + "filename": "responsesoutputitemreasoningstatusinprogress.md", + "category": "other", + "size_bytes": 161, + "title": "ResponsesOutputItemReasoningStatusInProgress", + "structure": { + "title": "ResponsesOutputItemReasoningStatusInProgress", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningStatusInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemReasoningStatusInProgress**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningstatusunion.md", + "filename": "responsesoutputitemreasoningstatusunion.md", + "category": "other", + "size_bytes": 545, + "title": "ResponsesOutputItemReasoningStatusUnion", + "structure": { + "title": "ResponsesOutputItemReasoningStatusUnion", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningStatusUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemReasoningStatusCompleted`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemReasoningStatusIncomplete`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponsesOutputItemReasoningStatusInProgress`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponsesOutputItemReasoningStatusCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemReasoningStatusIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputItemReasoningStatusInProgress = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**ResponsesOutputItemReasoningStatusUnion**\nSections: Supported Types, `components.ResponsesOutputItemReasoningStatusCompleted`, `components.ResponsesOutputItemReasoningStatusIncomplete`, `components.ResponsesOutputItemReasoningStatusInProgress`\nvalue: components.ResponsesOutputItemReasoningStatusCompleted = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responsesoutputitemreasoningtype.md", + "filename": "responsesoutputitemreasoningtype.md", + "category": "other", + "size_bytes": 137, + "title": "ResponsesOutputItemReasoningType", + "structure": { + "title": "ResponsesOutputItemReasoningType", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputItemReasoningType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputItemReasoningType**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `REASONING` | reasoning |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessage.md", + "filename": "responsesoutputmessage.md", + "category": "other", + "size_bytes": 3183, + "title": "ResponsesOutputMessage", + "structure": { + "title": "ResponsesOutputMessage", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ResponsesOutputMessage**\nSections: Fields\nAn output message item\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessagecontent.md", + "filename": "responsesoutputmessagecontent.md", + "category": "other", + "size_bytes": 294, + "title": "ResponsesOutputMessageContent", + "structure": { + "title": "ResponsesOutputMessageContent", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponseOutputText`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesRefusalContent`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponseOutputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesRefusalContent = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**ResponsesOutputMessageContent**\nSections: Supported Types, `components.ResponseOutputText`, `components.OpenAIResponsesRefusalContent`\nvalue: components.ResponseOutputText = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responsesoutputmessagerole.md", + "filename": "responsesoutputmessagerole.md", + "category": "other", + "size_bytes": 131, + "title": "ResponsesOutputMessageRole", + "structure": { + "title": "ResponsesOutputMessageRole", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputMessageRole**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `ASSISTANT` | assistant |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessagestatuscompleted.md", + "filename": "responsesoutputmessagestatuscompleted.md", + "category": "other", + "size_bytes": 142, + "title": "ResponsesOutputMessageStatusCompleted", + "structure": { + "title": "ResponsesOutputMessageStatusCompleted", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageStatusCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputMessageStatusCompleted**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `COMPLETED` | completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessagestatusincomplete.md", + "filename": "responsesoutputmessagestatusincomplete.md", + "category": "other", + "size_bytes": 149, + "title": "ResponsesOutputMessageStatusIncomplete", + "structure": { + "title": "ResponsesOutputMessageStatusIncomplete", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageStatusIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputMessageStatusIncomplete**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessagestatusinprogress.md", + "filename": "responsesoutputmessagestatusinprogress.md", + "category": "other", + "size_bytes": 155, + "title": "ResponsesOutputMessageStatusInProgress", + "structure": { + "title": "ResponsesOutputMessageStatusInProgress", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageStatusInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputMessageStatusInProgress**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmessagestatusunion.md", + "filename": "responsesoutputmessagestatusunion.md", + "category": "other", + "size_bytes": 503, + "title": "ResponsesOutputMessageStatusUnion", + "structure": { + "title": "ResponsesOutputMessageStatusUnion", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageStatusUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ResponsesOutputMessageStatusCompleted`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponsesOutputMessageStatusIncomplete`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponsesOutputMessageStatusInProgress`", + "line": 18 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ResponsesOutputMessageStatusCompleted = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputMessageStatusIncomplete = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponsesOutputMessageStatusInProgress = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**ResponsesOutputMessageStatusUnion**\nSections: Supported Types, `components.ResponsesOutputMessageStatusCompleted`, `components.ResponsesOutputMessageStatusIncomplete`, `components.ResponsesOutputMessageStatusInProgress`\nvalue: components.ResponsesOutputMessageStatusCompleted = /* values here */\n(8 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/responsesoutputmessagetype.md", + "filename": "responsesoutputmessagetype.md", + "category": "other", + "size_bytes": 119, + "title": "ResponsesOutputMessageType", + "structure": { + "title": "ResponsesOutputMessageType", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputMessageType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesOutputMessageType**\nSections: Values\n| Name | Value | | --------- | --------- | | `MESSAGE` | message |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsesoutputmodality.md", + "filename": "responsesoutputmodality.md", + "category": "other", + "size_bytes": 126, + "title": "ResponsesOutputModality", + "structure": { + "title": "ResponsesOutputModality", + "headers": [ + { + "level": 1, + "text": "ResponsesOutputModality", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ResponsesOutputModality**\nSections: Values\n| Name | Value | | ------- | ------- | | `TEXT` | text | | `IMAGE` | image |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsessearchcontextsize.md", + "filename": "responsessearchcontextsize.md", + "category": "other", + "size_bytes": 210, + "title": "ResponsesSearchContextSize", + "structure": { + "title": "ResponsesSearchContextSize", + "headers": [ + { + "level": 1, + "text": "ResponsesSearchContextSize", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ResponsesSearchContextSize**\nSections: Values\nSize of the search context for web search tools\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseswebsearchcalloutput.md", + "filename": "responseswebsearchcalloutput.md", + "category": "other", + "size_bytes": 2528, + "title": "ResponsesWebSearchCallOutput", + "structure": { + "title": "ResponsesWebSearchCallOutput", + "headers": [ + { + "level": 1, + "text": "ResponsesWebSearchCallOutput", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ResponsesWebSearchCallOutput**\nSections: Fields\n| Field | Type | ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseswebsearchcalloutputtype.md", + "filename": "responseswebsearchcalloutputtype.md", + "category": "other", + "size_bytes": 173, + "title": "ResponsesWebSearchCallOutputType", + "structure": { + "title": "ResponsesWebSearchCallOutputType", + "headers": [ + { + "level": 1, + "text": "ResponsesWebSearchCallOutputType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesWebSearchCallOutputType**\nSections: Values\n| Name | Value | | ----------------- | ----------------- | | `WEB_SEARCH_CALL` | web_search_call |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseswebsearchuserlocation.md", + "filename": "responseswebsearchuserlocation.md", + "category": "other", + "size_bytes": 3265, + "title": "ResponsesWebSearchUserLocation", + "structure": { + "title": "ResponsesWebSearchUserLocation", + "headers": [ + { + "level": 1, + "text": "ResponsesWebSearchUserLocation", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**ResponsesWebSearchUserLocation**\nSections: Fields\nUser location information for web search\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responseswebsearchuserlocationtype.md", + "filename": "responseswebsearchuserlocationtype.md", + "category": "other", + "size_bytes": 151, + "title": "ResponsesWebSearchUserLocationType", + "structure": { + "title": "ResponsesWebSearchUserLocationType", + "headers": [ + { + "level": 1, + "text": "ResponsesWebSearchUserLocationType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ResponsesWebSearchUserLocationType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `APPROXIMATE` | approximate |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsetextconfig.md", + "filename": "responsetextconfig.md", + "category": "other", + "size_bytes": 2239, + "title": "ResponseTextConfig", + "structure": { + "title": "ResponseTextConfig", + "headers": [ + { + "level": 1, + "text": "ResponseTextConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ResponseTextConfig**\nSections: Fields\nText output configuration including format and verbosity\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/responsetextconfigverbosity.md", + "filename": "responsetextconfigverbosity.md", + "category": "other", + "size_bytes": 162, + "title": "ResponseTextConfigVerbosity", + "structure": { + "title": "ResponseTextConfigVerbosity", + "headers": [ + { + "level": 1, + "text": "ResponseTextConfigVerbosity", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ResponseTextConfigVerbosity**\nSections: Values\n| Name | Value | | -------- | -------- | | `HIGH` | high | | `LOW` | low | | `MEDIUM` | medium |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/security.md", + "filename": "security.md", + "category": "other", + "size_bytes": 281, + "title": "Security", + "structure": { + "title": "Security", + "headers": [ + { + "level": 1, + "text": "Security", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**Security**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `api_key` | *Opti...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/servicetier.md", + "filename": "servicetier.md", + "category": "other", + "size_bytes": 86, + "title": "ServiceTier", + "structure": { + "title": "ServiceTier", + "headers": [ + { + "level": 1, + "text": "ServiceTier", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ServiceTier**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/serviceunavailableresponseerrordata.md", + "filename": "serviceunavailableresponseerrordata.md", + "category": "other", + "size_bytes": 683, + "title": "ServiceUnavailableResponseErrorData", + "structure": { + "title": "ServiceUnavailableResponseErrorData", + "headers": [ + { + "level": 1, + "text": "ServiceUnavailableResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ServiceUnavailableResponseErrorData**\nSections: Fields\nError data for ServiceUnavailableResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/sort.md", + "filename": "sort.md", + "category": "other", + "size_bytes": 179, + "title": "Sort", + "structure": { + "title": "Sort", + "headers": [ + { + "level": 1, + "text": "Sort", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**Sort**\nSections: Values\n| Name | Value | | ------------ | ------------ | | `PRICE` | price | | `THROUGHPUT` | throughput | | `LATENCY` | latency |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/stop.md", + "filename": "stop.md", + "category": "other", + "size_bytes": 238, + "title": "Stop", + "structure": { + "title": "Stop", + "headers": [ + { + "level": 1, + "text": "Stop", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[str]`", + "line": 14 + }, + { + "level": 3, + "text": "`Any`", + "line": 20 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[str] = /* values here */" + }, + { + "language": "python", + "code": "value: Any = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 9, + "line_count": 26 + }, + "summary": "**Stop**\nSections: Supported Types, `str`, `List[str]`, `Any`\nStop sequences (up to 4)\n(9 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.5 + } + } + }, + { + "path": "docs/components/systemmessage.md", + "filename": "systemmessage.md", + "category": "other", + "size_bytes": 1950, + "title": "SystemMessage", + "structure": { + "title": "SystemMessage", + "headers": [ + { + "level": 1, + "text": "SystemMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**SystemMessage**\nSections: Fields\nSystem message for setting behavior\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/systemmessagecontent.md", + "filename": "systemmessagecontent.md", + "category": "other", + "size_bytes": 263, + "title": "SystemMessageContent", + "structure": { + "title": "SystemMessageContent", + "headers": [ + { + "level": 1, + "text": "SystemMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.ChatMessageContentItemText]`", + "line": 14 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.ChatMessageContentItemText] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 7, + "line_count": 20 + }, + "summary": "**SystemMessageContent**\nSections: Supported Types, `str`, `List[components.ChatMessageContentItemText]`\nSystem message content\n(7 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/systemmessagerole.md", + "filename": "systemmessagerole.md", + "category": "other", + "size_bytes": 104, + "title": "SystemMessageRole", + "structure": { + "title": "SystemMessageRole", + "headers": [ + { + "level": 1, + "text": "SystemMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**SystemMessageRole**\nSections: Values\n| Name | Value | | -------- | -------- | | `SYSTEM` | system |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/tokenizer.md", + "filename": "tokenizer.md", + "category": "other", + "size_bytes": 688, + "title": "Tokenizer", + "structure": { + "title": "Tokenizer", + "headers": [ + { + "level": 1, + "text": "Tokenizer", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 28 + }, + "summary": "**Tokenizer**\nSections: Values\nTokenizer type used by the model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolcallstatus.md", + "filename": "toolcallstatus.md", + "category": "other", + "size_bytes": 199, + "title": "ToolCallStatus", + "structure": { + "title": "ToolCallStatus", + "headers": [ + { + "level": 1, + "text": "ToolCallStatus", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ToolCallStatus**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `IN_PROGRESS` | in_progress | | `COMPLETED` | completed | | `INCOMPLETE` | incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolchoiceoption.md", + "filename": "toolchoiceoption.md", + "category": "other", + "size_bytes": 518, + "title": "ToolChoiceOption", + "structure": { + "title": "ToolChoiceOption", + "headers": [ + { + "level": 1, + "text": "ToolChoiceOption", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`components.ToolChoiceOptionNone`", + "line": 8 + }, + { + "level": 3, + "text": "`components.ToolChoiceOptionAuto`", + "line": 14 + }, + { + "level": 3, + "text": "`components.ToolChoiceOptionRequired`", + "line": 20 + }, + { + "level": 3, + "text": "`components.NamedToolChoice`", + "line": 26 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ToolChoiceOptionNone = /* values here */" + }, + { + "language": "python", + "code": "value: components.ToolChoiceOptionAuto = /* values here */" + }, + { + "language": "python", + "code": "value: components.ToolChoiceOptionRequired = /* values here */" + }, + { + "language": "python", + "code": "value: components.NamedToolChoice = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 11, + "line_count": 32 + }, + "summary": "**ToolChoiceOption**\nSections: Supported Types, `components.ToolChoiceOptionNone`, `components.ToolChoiceOptionAuto`, `components.ToolChoiceOptionRequired`, `components.NamedToolChoice`\nTool choice configuration\n(11 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/toolchoiceoptionauto.md", + "filename": "toolchoiceoptionauto.md", + "category": "other", + "size_bytes": 95, + "title": "ToolChoiceOptionAuto", + "structure": { + "title": "ToolChoiceOptionAuto", + "headers": [ + { + "level": 1, + "text": "ToolChoiceOptionAuto", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ToolChoiceOptionAuto**\nSections: Values\n| Name | Value | | ------ | ------ | | `AUTO` | auto |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolchoiceoptionnone.md", + "filename": "toolchoiceoptionnone.md", + "category": "other", + "size_bytes": 95, + "title": "ToolChoiceOptionNone", + "structure": { + "title": "ToolChoiceOptionNone", + "headers": [ + { + "level": 1, + "text": "ToolChoiceOptionNone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ToolChoiceOptionNone**\nSections: Values\n| Name | Value | | ------ | ------ | | `NONE` | none |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolchoiceoptionrequired.md", + "filename": "toolchoiceoptionrequired.md", + "category": "other", + "size_bytes": 123, + "title": "ToolChoiceOptionRequired", + "structure": { + "title": "ToolChoiceOptionRequired", + "headers": [ + { + "level": 1, + "text": "ToolChoiceOptionRequired", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ToolChoiceOptionRequired**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `REQUIRED` | required |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/tooldefinitionjson.md", + "filename": "tooldefinitionjson.md", + "category": "other", + "size_bytes": 5866, + "title": "ToolDefinitionJSON", + "structure": { + "title": "ToolDefinitionJSON", + "headers": [ + { + "level": 1, + "text": "ToolDefinitionJSON", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ToolDefinitionJSON**\nSections: Fields\nTool definition for function calling\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/tooldefinitionjsonfunction.md", + "filename": "tooldefinitionjsonfunction.md", + "category": "other", + "size_bytes": 4065, + "title": "ToolDefinitionJSONFunction", + "structure": { + "title": "ToolDefinitionJSONFunction", + "headers": [ + { + "level": 1, + "text": "ToolDefinitionJSONFunction", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 13 + }, + "summary": "**ToolDefinitionJSONFunction**\nSections: Fields\nFunction definition for tool calling\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/tooldefinitionjsontype.md", + "filename": "tooldefinitionjsontype.md", + "category": "other", + "size_bytes": 121, + "title": "ToolDefinitionJSONType", + "structure": { + "title": "ToolDefinitionJSONType", + "headers": [ + { + "level": 1, + "text": "ToolDefinitionJSONType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ToolDefinitionJSONType**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `FUNCTION` | function |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolresponsemessage.md", + "filename": "toolresponsemessage.md", + "category": "other", + "size_bytes": 2243, + "title": "ToolResponseMessage", + "structure": { + "title": "ToolResponseMessage", + "headers": [ + { + "level": 1, + "text": "ToolResponseMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ToolResponseMessage**\nSections: Fields\nTool response message\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toolresponsemessagecontent.md", + "filename": "toolresponsemessagecontent.md", + "category": "other", + "size_bytes": 260, + "title": "ToolResponseMessageContent", + "structure": { + "title": "ToolResponseMessageContent", + "headers": [ + { + "level": 1, + "text": "ToolResponseMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.ChatMessageContentItem]`", + "line": 14 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.ChatMessageContentItem] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 7, + "line_count": 20 + }, + "summary": "**ToolResponseMessageContent**\nSections: Supported Types, `str`, `List[components.ChatMessageContentItem]`\nTool response content\n(7 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/toolresponsemessagerole.md", + "filename": "toolresponsemessagerole.md", + "category": "other", + "size_bytes": 98, + "title": "ToolResponseMessageRole", + "structure": { + "title": "ToolResponseMessageRole", + "headers": [ + { + "level": 1, + "text": "ToolResponseMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ToolResponseMessageRole**\nSections: Values\n| Name | Value | | ------ | ------ | | `TOOL` | tool |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/toomanyrequestsresponseerrordata.md", + "filename": "toomanyrequestsresponseerrordata.md", + "category": "other", + "size_bytes": 677, + "title": "TooManyRequestsResponseErrorData", + "structure": { + "title": "TooManyRequestsResponseErrorData", + "headers": [ + { + "level": 1, + "text": "TooManyRequestsResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**TooManyRequestsResponseErrorData**\nSections: Fields\nError data for TooManyRequestsResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/topproviderinfo.md", + "filename": "topproviderinfo.md", + "category": "other", + "size_bytes": 1341, + "title": "TopProviderInfo", + "structure": { + "title": "TopProviderInfo", + "headers": [ + { + "level": 1, + "text": "TopProviderInfo", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**TopProviderInfo**\nSections: Fields\nInformation about the top provider for this model\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/truncation.md", + "filename": "truncation.md", + "category": "other", + "size_bytes": 137, + "title": "Truncation", + "structure": { + "title": "Truncation", + "headers": [ + { + "level": 1, + "text": "Truncation", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**Truncation**\nSections: Values\n| Name | Value | | ---------- | ---------- | | `AUTO` | auto | | `DISABLED` | disabled |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/ttl.md", + "filename": "ttl.md", + "category": "other", + "size_bytes": 106, + "title": "TTL", + "structure": { + "title": "TTL", + "headers": [ + { + "level": 1, + "text": "TTL", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**TTL**\nSections: Values\n| Name | Value | | ------- | ------- | | `FIVEM` | 5m | | `ONEH` | 1h |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/type.md", + "filename": "type.md", + "category": "other", + "size_bytes": 371, + "title": "Type", + "structure": { + "title": "Type", + "headers": [ + { + "level": 1, + "text": "Type", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311`", + "line": 6 + }, + { + "level": 3, + "text": "`components.OpenAIResponsesToolChoiceTypeWebSearchPreview`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311 = /* values here */" + }, + { + "language": "python", + "code": "value: components.OpenAIResponsesToolChoiceTypeWebSearchPreview = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Type**\nSections: Supported Types, `components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311`, `components.OpenAIResponsesToolChoiceTypeWebSearchPreview`\nvalue: components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311 = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/components/typeresponsecompleted.md", + "filename": "typeresponsecompleted.md", + "category": "other", + "size_bytes": 180, + "title": "TypeResponseCompleted", + "structure": { + "title": "TypeResponseCompleted", + "headers": [ + { + "level": 1, + "text": "TypeResponseCompleted", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseCompleted**\nSections: Values\n| Name | Value | | -------------------- | -------------------- | | `RESPONSE_COMPLETED` | response.completed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsecontentpartadded.md", + "filename": "typeresponsecontentpartadded.md", + "category": "other", + "size_bytes": 241, + "title": "TypeResponseContentPartAdded", + "structure": { + "title": "TypeResponseContentPartAdded", + "headers": [ + { + "level": 1, + "text": "TypeResponseContentPartAdded", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseContentPartAdded**\nSections: Values\n| Name | Value | | ----------------------------- | ----------------------------- | | `RESPONSE_CONTENT_PART_ADDED` | response.content_part.added |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsecontentpartdone.md", + "filename": "typeresponsecontentpartdone.md", + "category": "other", + "size_bytes": 234, + "title": "TypeResponseContentPartDone", + "structure": { + "title": "TypeResponseContentPartDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseContentPartDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseContentPartDone**\nSections: Values\n| Name | Value | | ---------------------------- | ---------------------------- | | `RESPONSE_CONTENT_PART_DONE` | response.content_part.done |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsecreated.md", + "filename": "typeresponsecreated.md", + "category": "other", + "size_bytes": 166, + "title": "TypeResponseCreated", + "structure": { + "title": "TypeResponseCreated", + "headers": [ + { + "level": 1, + "text": "TypeResponseCreated", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseCreated**\nSections: Values\n| Name | Value | | ------------------ | ------------------ | | `RESPONSE_CREATED` | response.created |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsefailed.md", + "filename": "typeresponsefailed.md", + "category": "other", + "size_bytes": 159, + "title": "TypeResponseFailed", + "structure": { + "title": "TypeResponseFailed", + "headers": [ + { + "level": 1, + "text": "TypeResponseFailed", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseFailed**\nSections: Values\n| Name | Value | | ----------------- | ----------------- | | `RESPONSE_FAILED` | response.failed |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsefunctioncallargumentsdelta.md", + "filename": "typeresponsefunctioncallargumentsdelta.md", + "category": "other", + "size_bytes": 317, + "title": "TypeResponseFunctionCallArgumentsDelta", + "structure": { + "title": "TypeResponseFunctionCallArgumentsDelta", + "headers": [ + { + "level": 1, + "text": "TypeResponseFunctionCallArgumentsDelta", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseFunctionCallArgumentsDelta**\nSections: Values\n| Name | Value | | ---------------------------------------- | ---------------------------------------- | | `RESPONSE_FUNCTION_CAL...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsefunctioncallargumentsdone.md", + "filename": "typeresponsefunctioncallargumentsdone.md", + "category": "other", + "size_bytes": 310, + "title": "TypeResponseFunctionCallArgumentsDone", + "structure": { + "title": "TypeResponseFunctionCallArgumentsDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseFunctionCallArgumentsDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseFunctionCallArgumentsDone**\nSections: Values\n| Name | Value | | --------------------------------------- | --------------------------------------- | | `RESPONSE_FUNCTION_CALL_AR...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseincomplete.md", + "filename": "typeresponseincomplete.md", + "category": "other", + "size_bytes": 187, + "title": "TypeResponseIncomplete", + "structure": { + "title": "TypeResponseIncomplete", + "headers": [ + { + "level": 1, + "text": "TypeResponseIncomplete", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseIncomplete**\nSections: Values\n| Name | Value | | --------------------- | --------------------- | | `RESPONSE_INCOMPLETE` | response.incomplete |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseinprogress.md", + "filename": "typeresponseinprogress.md", + "category": "other", + "size_bytes": 193, + "title": "TypeResponseInProgress", + "structure": { + "title": "TypeResponseInProgress", + "headers": [ + { + "level": 1, + "text": "TypeResponseInProgress", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseInProgress**\nSections: Values\n| Name | Value | | ---------------------- | ---------------------- | | `RESPONSE_IN_PROGRESS` | response.in_progress |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseoutputitemadded.md", + "filename": "typeresponseoutputitemadded.md", + "category": "other", + "size_bytes": 234, + "title": "TypeResponseOutputItemAdded", + "structure": { + "title": "TypeResponseOutputItemAdded", + "headers": [ + { + "level": 1, + "text": "TypeResponseOutputItemAdded", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseOutputItemAdded**\nSections: Values\n| Name | Value | | ---------------------------- | ---------------------------- | | `RESPONSE_OUTPUT_ITEM_ADDED` | response.output_item.added |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseoutputitemdone.md", + "filename": "typeresponseoutputitemdone.md", + "category": "other", + "size_bytes": 227, + "title": "TypeResponseOutputItemDone", + "structure": { + "title": "TypeResponseOutputItemDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseOutputItemDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseOutputItemDone**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `RESPONSE_OUTPUT_ITEM_DONE` | response.output_item.done |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseoutputtextannotationadded.md", + "filename": "typeresponseoutputtextannotationadded.md", + "category": "other", + "size_bytes": 310, + "title": "TypeResponseOutputTextAnnotationAdded", + "structure": { + "title": "TypeResponseOutputTextAnnotationAdded", + "headers": [ + { + "level": 1, + "text": "TypeResponseOutputTextAnnotationAdded", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseOutputTextAnnotationAdded**\nSections: Values\n| Name | Value | | --------------------------------------- | --------------------------------------- | | `RESPONSE_OUTPUT_TEXT_ANNO...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseoutputtextdelta.md", + "filename": "typeresponseoutputtextdelta.md", + "category": "other", + "size_bytes": 234, + "title": "TypeResponseOutputTextDelta", + "structure": { + "title": "TypeResponseOutputTextDelta", + "headers": [ + { + "level": 1, + "text": "TypeResponseOutputTextDelta", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseOutputTextDelta**\nSections: Values\n| Name | Value | | ---------------------------- | ---------------------------- | | `RESPONSE_OUTPUT_TEXT_DELTA` | response.output_text.delta |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponseoutputtextdone.md", + "filename": "typeresponseoutputtextdone.md", + "category": "other", + "size_bytes": 227, + "title": "TypeResponseOutputTextDone", + "structure": { + "title": "TypeResponseOutputTextDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseOutputTextDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseOutputTextDone**\nSections: Values\n| Name | Value | | --------------------------- | --------------------------- | | `RESPONSE_OUTPUT_TEXT_DONE` | response.output_text.done |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponsereasoningsummarypartdone.md", + "filename": "typeresponsereasoningsummarypartdone.md", + "category": "other", + "size_bytes": 303, + "title": "TypeResponseReasoningSummaryPartDone", + "structure": { + "title": "TypeResponseReasoningSummaryPartDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseReasoningSummaryPartDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseReasoningSummaryPartDone**\nSections: Values\n| Name | Value | | -------------------------------------- | -------------------------------------- | | `RESPONSE_REASONING_SUMMARY_PA...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponserefusaldelta.md", + "filename": "typeresponserefusaldelta.md", + "category": "other", + "size_bytes": 207, + "title": "TypeResponseRefusalDelta", + "structure": { + "title": "TypeResponseRefusalDelta", + "headers": [ + { + "level": 1, + "text": "TypeResponseRefusalDelta", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseRefusalDelta**\nSections: Values\n| Name | Value | | ------------------------ | ------------------------ | | `RESPONSE_REFUSAL_DELTA` | response.refusal.delta |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/typeresponserefusaldone.md", + "filename": "typeresponserefusaldone.md", + "category": "other", + "size_bytes": 200, + "title": "TypeResponseRefusalDone", + "structure": { + "title": "TypeResponseRefusalDone", + "headers": [ + { + "level": 1, + "text": "TypeResponseRefusalDone", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeResponseRefusalDone**\nSections: Values\n| Name | Value | | ----------------------- | ----------------------- | | `RESPONSE_REFUSAL_DONE` | response.refusal.done |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/unauthorizedresponseerrordata.md", + "filename": "unauthorizedresponseerrordata.md", + "category": "other", + "size_bytes": 671, + "title": "UnauthorizedResponseErrorData", + "structure": { + "title": "UnauthorizedResponseErrorData", + "headers": [ + { + "level": 1, + "text": "UnauthorizedResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UnauthorizedResponseErrorData**\nSections: Fields\nError data for UnauthorizedResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/unprocessableentityresponseerrordata.md", + "filename": "unprocessableentityresponseerrordata.md", + "category": "other", + "size_bytes": 685, + "title": "UnprocessableEntityResponseErrorData", + "structure": { + "title": "UnprocessableEntityResponseErrorData", + "headers": [ + { + "level": 1, + "text": "UnprocessableEntityResponseErrorData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UnprocessableEntityResponseErrorData**\nSections: Fields\nError data for UnprocessableEntityResponse\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/urlcitation.md", + "filename": "urlcitation.md", + "category": "other", + "size_bytes": 1860, + "title": "URLCitation", + "structure": { + "title": "URLCitation", + "headers": [ + { + "level": 1, + "text": "URLCitation", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**URLCitation**\nSections: Fields\n| Field | Type | Required | Des...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/urlcitationtype.md", + "filename": "urlcitationtype.md", + "category": "other", + "size_bytes": 138, + "title": "URLCitationType", + "structure": { + "title": "URLCitationType", + "headers": [ + { + "level": 1, + "text": "URLCitationType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**URLCitationType**\nSections: Values\n| Name | Value | | -------------- | -------------- | | `URL_CITATION` | url_citation |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/usermessage.md", + "filename": "usermessage.md", + "category": "other", + "size_bytes": 1825, + "title": "UserMessage", + "structure": { + "title": "UserMessage", + "headers": [ + { + "level": 1, + "text": "UserMessage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UserMessage**\nSections: Fields\nUser message\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/usermessagecontent.md", + "filename": "usermessagecontent.md", + "category": "other", + "size_bytes": 251, + "title": "UserMessageContent", + "structure": { + "title": "UserMessageContent", + "headers": [ + { + "level": 1, + "text": "UserMessageContent", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 8 + }, + { + "level": 3, + "text": "`List[components.ChatMessageContentItem]`", + "line": 14 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[components.ChatMessageContentItem] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 7, + "line_count": 20 + }, + "summary": "**UserMessageContent**\nSections: Supported Types, `str`, `List[components.ChatMessageContentItem]`\nUser message content\n(7 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/components/usermessagerole.md", + "filename": "usermessagerole.md", + "category": "other", + "size_bytes": 90, + "title": "UserMessageRole", + "structure": { + "title": "UserMessageRole", + "headers": [ + { + "level": 1, + "text": "UserMessageRole", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**UserMessageRole**\nSections: Values\n| Name | Value | | ------ | ------ | | `USER` | user |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/variables.md", + "filename": "variables.md", + "category": "other", + "size_bytes": 414, + "title": "Variables", + "structure": { + "title": "Variables", + "headers": [ + { + "level": 1, + "text": "Variables", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`str`", + "line": 6 + }, + { + "level": 3, + "text": "`components.ResponseInputText`", + "line": 12 + }, + { + "level": 3, + "text": "`components.ResponseInputImage`", + "line": 18 + }, + { + "level": 3, + "text": "`components.ResponseInputFile`", + "line": 24 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputText = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputImage = /* values here */" + }, + { + "language": "python", + "code": "value: components.ResponseInputFile = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 10, + "line_count": 30 + }, + "summary": "**Variables**\nSections: Supported Types, `str`, `components.ResponseInputText`, `components.ResponseInputImage`, `components.ResponseInputFile`\nvalue: str = /* values here */\n(10 words, 4 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 4, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.25 + } + } + }, + { + "path": "docs/components/videoinput.md", + "filename": "videoinput.md", + "category": "other", + "size_bytes": 555, + "title": "VideoInput", + "structure": { + "title": "VideoInput", + "headers": [ + { + "level": 1, + "text": "VideoInput", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**VideoInput**\nSections: Fields\nVideo input object\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/websearchengine.md", + "filename": "websearchengine.md", + "category": "other", + "size_bytes": 168, + "title": "WebSearchEngine", + "structure": { + "title": "WebSearchEngine", + "headers": [ + { + "level": 1, + "text": "WebSearchEngine", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**WebSearchEngine**\nSections: Values\nThe search engine to use for web search.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/websearchpreviewtooluserlocation.md", + "filename": "websearchpreviewtooluserlocation.md", + "category": "other", + "size_bytes": 3057, + "title": "WebSearchPreviewToolUserLocation", + "structure": { + "title": "WebSearchPreviewToolUserLocation", + "headers": [ + { + "level": 1, + "text": "WebSearchPreviewToolUserLocation", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**WebSearchPreviewToolUserLocation**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/websearchpreviewtooluserlocationtype.md", + "filename": "websearchpreviewtooluserlocationtype.md", + "category": "other", + "size_bytes": 153, + "title": "WebSearchPreviewToolUserLocationType", + "structure": { + "title": "WebSearchPreviewToolUserLocationType", + "headers": [ + { + "level": 1, + "text": "WebSearchPreviewToolUserLocationType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**WebSearchPreviewToolUserLocationType**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `APPROXIMATE` | approximate |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/components/websearchstatus.md", + "filename": "websearchstatus.md", + "category": "other", + "size_bytes": 234, + "title": "WebSearchStatus", + "structure": { + "title": "WebSearchStatus", + "headers": [ + { + "level": 1, + "text": "WebSearchStatus", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**WebSearchStatus**\nSections: Values\n| Name | Value | | ------------- | ------------- | | `COMPLETED` | completed | | `SEARCHING` | searching | | `IN_PROGRESS` | in_progress | | `FAILED` | failed ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/badgatewayresponseerror.md", + "filename": "badgatewayresponseerror.md", + "category": "other", + "size_bytes": 1871, + "title": "BadGatewayResponseError", + "structure": { + "title": "BadGatewayResponseError", + "headers": [ + { + "level": 1, + "text": "BadGatewayResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**BadGatewayResponseError**\nSections: Fields\nBad Gateway - Provider/upstream API failure\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/badrequestresponseerror.md", + "filename": "badrequestresponseerror.md", + "category": "other", + "size_bytes": 1887, + "title": "BadRequestResponseError", + "structure": { + "title": "BadRequestResponseError", + "headers": [ + { + "level": 1, + "text": "BadRequestResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**BadRequestResponseError**\nSections: Fields\nBad Request - Invalid request parameters or malformed input\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/edgenetworktimeoutresponseerror.md", + "filename": "edgenetworktimeoutresponseerror.md", + "category": "other", + "size_bytes": 2223, + "title": "EdgeNetworkTimeoutResponseError", + "structure": { + "title": "EdgeNetworkTimeoutResponseError", + "headers": [ + { + "level": 1, + "text": "EdgeNetworkTimeoutResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**EdgeNetworkTimeoutResponseError**\nSections: Fields\nInfrastructure Timeout - Provider request timed out at edge network\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/forbiddenresponseerror.md", + "filename": "forbiddenresponseerror.md", + "category": "other", + "size_bytes": 1858, + "title": "ForbiddenResponseError", + "structure": { + "title": "ForbiddenResponseError", + "headers": [ + { + "level": 1, + "text": "ForbiddenResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ForbiddenResponseError**\nSections: Fields\nForbidden - Authentication successful but insufficient permissions\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/internalserverresponseerror.md", + "filename": "internalserverresponseerror.md", + "category": "other", + "size_bytes": 2039, + "title": "InternalServerResponseError", + "structure": { + "title": "InternalServerResponseError", + "headers": [ + { + "level": 1, + "text": "InternalServerResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**InternalServerResponseError**\nSections: Fields\nInternal Server Error - Unexpected server error\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/notfoundresponseerror.md", + "filename": "notfoundresponseerror.md", + "category": "other", + "size_bytes": 1781, + "title": "NotFoundResponseError", + "structure": { + "title": "NotFoundResponseError", + "headers": [ + { + "level": 1, + "text": "NotFoundResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**NotFoundResponseError**\nSections: Fields\nNot Found - Resource does not exist\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/payloadtoolargeresponseerror.md", + "filename": "payloadtoolargeresponseerror.md", + "category": "other", + "size_bytes": 2088, + "title": "PayloadTooLargeResponseError", + "structure": { + "title": "PayloadTooLargeResponseError", + "headers": [ + { + "level": 1, + "text": "PayloadTooLargeResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**PayloadTooLargeResponseError**\nSections: Fields\nPayload Too Large - Request payload exceeds size limits\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/paymentrequiredresponseerror.md", + "filename": "paymentrequiredresponseerror.md", + "category": "other", + "size_bytes": 2113, + "title": "PaymentRequiredResponseError", + "structure": { + "title": "PaymentRequiredResponseError", + "headers": [ + { + "level": 1, + "text": "PaymentRequiredResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**PaymentRequiredResponseError**\nSections: Fields\nPayment Required - Insufficient credits or quota to complete request\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/provideroverloadedresponseerror.md", + "filename": "provideroverloadedresponseerror.md", + "category": "other", + "size_bytes": 2212, + "title": "ProviderOverloadedResponseError", + "structure": { + "title": "ProviderOverloadedResponseError", + "headers": [ + { + "level": 1, + "text": "ProviderOverloadedResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ProviderOverloadedResponseError**\nSections: Fields\nProvider Overloaded - Provider is temporarily overloaded\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/requesttimeoutresponseerror.md", + "filename": "requesttimeoutresponseerror.md", + "category": "other", + "size_bytes": 2039, + "title": "RequestTimeoutResponseError", + "structure": { + "title": "RequestTimeoutResponseError", + "headers": [ + { + "level": 1, + "text": "RequestTimeoutResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**RequestTimeoutResponseError**\nSections: Fields\nRequest Timeout - Operation exceeded time limit\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/serviceunavailableresponseerror.md", + "filename": "serviceunavailableresponseerror.md", + "category": "other", + "size_bytes": 2209, + "title": "ServiceUnavailableResponseError", + "structure": { + "title": "ServiceUnavailableResponseError", + "headers": [ + { + "level": 1, + "text": "ServiceUnavailableResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ServiceUnavailableResponseError**\nSections: Fields\nService Unavailable - Service temporarily unavailable\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/toomanyrequestsresponseerror.md", + "filename": "toomanyrequestsresponseerror.md", + "category": "other", + "size_bytes": 2072, + "title": "TooManyRequestsResponseError", + "structure": { + "title": "TooManyRequestsResponseError", + "headers": [ + { + "level": 1, + "text": "TooManyRequestsResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**TooManyRequestsResponseError**\nSections: Fields\nToo Many Requests - Rate limit exceeded\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/unauthorizedresponseerror.md", + "filename": "unauthorizedresponseerror.md", + "category": "other", + "size_bytes": 1971, + "title": "UnauthorizedResponseError", + "structure": { + "title": "UnauthorizedResponseError", + "headers": [ + { + "level": 1, + "text": "UnauthorizedResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**UnauthorizedResponseError**\nSections: Fields\nUnauthorized - Authentication required or invalid credentials\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/errors/unprocessableentityresponseerror.md", + "filename": "unprocessableentityresponseerror.md", + "category": "other", + "size_bytes": 2247, + "title": "UnprocessableEntityResponseError", + "structure": { + "title": "UnprocessableEntityResponseError", + "headers": [ + { + "level": 1, + "text": "UnprocessableEntityResponseError", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**UnprocessableEntityResponseError**\nSections: Fields\nUnprocessable Entity - Semantic validation failure\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/models/internal/globals.md", + "filename": "globals.md", + "category": "other", + "size_bytes": 2406, + "title": "Globals", + "structure": { + "title": "Globals", + "headers": [ + { + "level": 1, + "text": "Globals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**Globals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/models/utils/retryconfig.md", + "filename": "retryconfig.md", + "category": "other", + "size_bytes": 1417, + "title": "RetryConfig", + "structure": { + "title": "RetryConfig", + "headers": [ + { + "level": 1, + "text": "RetryConfig", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 5 + }, + { + "level": 2, + "text": "BackoffStrategy", + "line": 13 + }, + { + "level": 3, + "text": "Fields", + "line": 17 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 8, + "line_count": 24 + }, + "summary": "**RetryConfig**\nSections: Fields, BackoffStrategy, Fields\nAllows customizing the default retry configuration. Only usable with methods that mention they support retries.\n(8 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/apitype.md", + "filename": "apitype.md", + "category": "other", + "size_bytes": 195, + "title": "APIType", + "structure": { + "title": "APIType", + "headers": [ + { + "level": 1, + "text": "APIType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**APIType**\nSections: Values\nType of API used for the generation\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignkeystoguardrailglobals.md", + "filename": "bulkassignkeystoguardrailglobals.md", + "category": "other", + "size_bytes": 2431, + "title": "BulkAssignKeysToGuardrailGlobals", + "structure": { + "title": "BulkAssignKeysToGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "BulkAssignKeysToGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**BulkAssignKeysToGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignkeystoguardrailrequest.md", + "filename": "bulkassignkeystoguardrailrequest.md", + "category": "other", + "size_bytes": 4507, + "title": "BulkAssignKeysToGuardrailRequest", + "structure": { + "title": "BulkAssignKeysToGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "BulkAssignKeysToGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**BulkAssignKeysToGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignkeystoguardrailrequestbody.md", + "filename": "bulkassignkeystoguardrailrequestbody.md", + "category": "other", + "size_bytes": 1160, + "title": "BulkAssignKeysToGuardrailRequestBody", + "structure": { + "title": "BulkAssignKeysToGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "BulkAssignKeysToGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**BulkAssignKeysToGuardrailRequestBody**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignkeystoguardrailresponse.md", + "filename": "bulkassignkeystoguardrailresponse.md", + "category": "other", + "size_bytes": 658, + "title": "BulkAssignKeysToGuardrailResponse", + "structure": { + "title": "BulkAssignKeysToGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "BulkAssignKeysToGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**BulkAssignKeysToGuardrailResponse**\nSections: Fields\nAssignment result\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignmemberstoguardrailglobals.md", + "filename": "bulkassignmemberstoguardrailglobals.md", + "category": "other", + "size_bytes": 2434, + "title": "BulkAssignMembersToGuardrailGlobals", + "structure": { + "title": "BulkAssignMembersToGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "BulkAssignMembersToGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**BulkAssignMembersToGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignmemberstoguardrailrequest.md", + "filename": "bulkassignmemberstoguardrailrequest.md", + "category": "other", + "size_bytes": 4510, + "title": "BulkAssignMembersToGuardrailRequest", + "structure": { + "title": "BulkAssignMembersToGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "BulkAssignMembersToGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**BulkAssignMembersToGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignmemberstoguardrailrequestbody.md", + "filename": "bulkassignmemberstoguardrailrequestbody.md", + "category": "other", + "size_bytes": 870, + "title": "BulkAssignMembersToGuardrailRequestBody", + "structure": { + "title": "BulkAssignMembersToGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "BulkAssignMembersToGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**BulkAssignMembersToGuardrailRequestBody**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkassignmemberstoguardrailresponse.md", + "filename": "bulkassignmemberstoguardrailresponse.md", + "category": "other", + "size_bytes": 706, + "title": "BulkAssignMembersToGuardrailResponse", + "structure": { + "title": "BulkAssignMembersToGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "BulkAssignMembersToGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**BulkAssignMembersToGuardrailResponse**\nSections: Fields\nAssignment result\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignkeysfromguardrailglobals.md", + "filename": "bulkunassignkeysfromguardrailglobals.md", + "category": "other", + "size_bytes": 2435, + "title": "BulkUnassignKeysFromGuardrailGlobals", + "structure": { + "title": "BulkUnassignKeysFromGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "BulkUnassignKeysFromGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**BulkUnassignKeysFromGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignkeysfromguardrailrequest.md", + "filename": "bulkunassignkeysfromguardrailrequest.md", + "category": "other", + "size_bytes": 4511, + "title": "BulkUnassignKeysFromGuardrailRequest", + "structure": { + "title": "BulkUnassignKeysFromGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "BulkUnassignKeysFromGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**BulkUnassignKeysFromGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignkeysfromguardrailrequestbody.md", + "filename": "bulkunassignkeysfromguardrailrequestbody.md", + "category": "other", + "size_bytes": 1164, + "title": "BulkUnassignKeysFromGuardrailRequestBody", + "structure": { + "title": "BulkUnassignKeysFromGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "BulkUnassignKeysFromGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**BulkUnassignKeysFromGuardrailRequestBody**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignkeysfromguardrailresponse.md", + "filename": "bulkunassignkeysfromguardrailresponse.md", + "category": "other", + "size_bytes": 694, + "title": "BulkUnassignKeysFromGuardrailResponse", + "structure": { + "title": "BulkUnassignKeysFromGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "BulkUnassignKeysFromGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**BulkUnassignKeysFromGuardrailResponse**\nSections: Fields\nUnassignment result\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignmembersfromguardrailglobals.md", + "filename": "bulkunassignmembersfromguardrailglobals.md", + "category": "other", + "size_bytes": 2438, + "title": "BulkUnassignMembersFromGuardrailGlobals", + "structure": { + "title": "BulkUnassignMembersFromGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "BulkUnassignMembersFromGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**BulkUnassignMembersFromGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignmembersfromguardrailrequest.md", + "filename": "bulkunassignmembersfromguardrailrequest.md", + "category": "other", + "size_bytes": 4514, + "title": "BulkUnassignMembersFromGuardrailRequest", + "structure": { + "title": "BulkUnassignMembersFromGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "BulkUnassignMembersFromGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**BulkUnassignMembersFromGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignmembersfromguardrailrequestbody.md", + "filename": "bulkunassignmembersfromguardrailrequestbody.md", + "category": "other", + "size_bytes": 934, + "title": "BulkUnassignMembersFromGuardrailRequestBody", + "structure": { + "title": "BulkUnassignMembersFromGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "BulkUnassignMembersFromGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**BulkUnassignMembersFromGuardrailRequestBody**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/bulkunassignmembersfromguardrailresponse.md", + "filename": "bulkunassignmembersfromguardrailresponse.md", + "category": "other", + "size_bytes": 742, + "title": "BulkUnassignMembersFromGuardrailResponse", + "structure": { + "title": "BulkUnassignMembersFromGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "BulkUnassignMembersFromGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**BulkUnassignMembersFromGuardrailResponse**\nSections: Fields\nUnassignment result\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/calldata.md", + "filename": "calldata.md", + "category": "other", + "size_bytes": 1151, + "title": "CallData", + "structure": { + "title": "CallData", + "headers": [ + { + "level": 1, + "text": "CallData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 17 + }, + "summary": "**CallData**\nSections: Fields\n| Field | Type | Required | Description | | -------------------- | -------------------- | -------------------- | -------------------- | | `deadline`...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/category.md", + "filename": "category.md", + "category": "other", + "size_bytes": 591, + "title": "Category", + "structure": { + "title": "Category", + "headers": [ + { + "level": 1, + "text": "Category", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 21 + }, + "summary": "**Category**\nSections: Values\nFilter models by use case category\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/content.md", + "filename": "content.md", + "category": "other", + "size_bytes": 230, + "title": "Content", + "structure": { + "title": "Content", + "headers": [ + { + "level": 1, + "text": "Content", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`operations.ContentText`", + "line": 6 + }, + { + "level": 3, + "text": "`operations.ContentImageURL`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: operations.ContentText = /* values here */" + }, + { + "language": "python", + "code": "value: operations.ContentImageURL = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Content**\nSections: Supported Types, `operations.ContentText`, `operations.ContentImageURL`\nvalue: operations.ContentText = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/operations/contentimageurl.md", + "filename": "contentimageurl.md", + "category": "other", + "size_bytes": 982, + "title": "ContentImageURL", + "structure": { + "title": "ContentImageURL", + "headers": [ + { + "level": 1, + "text": "ContentImageURL", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ContentImageURL**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/contenttext.md", + "filename": "contenttext.md", + "category": "other", + "size_bytes": 850, + "title": "ContentText", + "structure": { + "title": "ContentText", + "headers": [ + { + "level": 1, + "text": "ContentText", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ContentText**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscodecodechallengemethod.md", + "filename": "createauthkeyscodecodechallengemethod.md", + "category": "other", + "size_bytes": 188, + "title": "CreateAuthKeysCodeCodeChallengeMethod", + "structure": { + "title": "CreateAuthKeysCodeCodeChallengeMethod", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeCodeChallengeMethod", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**CreateAuthKeysCodeCodeChallengeMethod**\nSections: Values\nThe method used to generate the code challenge\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscodedata.md", + "filename": "createauthkeyscodedata.md", + "category": "other", + "size_bytes": 1538, + "title": "CreateAuthKeysCodeData", + "structure": { + "title": "CreateAuthKeysCodeData", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**CreateAuthKeysCodeData**\nSections: Fields\nAuth code data\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscodeglobals.md", + "filename": "createauthkeyscodeglobals.md", + "category": "other", + "size_bytes": 2424, + "title": "CreateAuthKeysCodeGlobals", + "structure": { + "title": "CreateAuthKeysCodeGlobals", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateAuthKeysCodeGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscoderequest.md", + "filename": "createauthkeyscoderequest.md", + "category": "other", + "size_bytes": 4270, + "title": "CreateAuthKeysCodeRequest", + "structure": { + "title": "CreateAuthKeysCodeRequest", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateAuthKeysCodeRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscoderequestbody.md", + "filename": "createauthkeyscoderequestbody.md", + "category": "other", + "size_bytes": 5417, + "title": "CreateAuthKeysCodeRequestBody", + "structure": { + "title": "CreateAuthKeysCodeRequestBody", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 3, + "line_count": 14 + }, + "summary": "**CreateAuthKeysCodeRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createauthkeyscoderesponse.md", + "filename": "createauthkeyscoderesponse.md", + "category": "other", + "size_bytes": 1394, + "title": "CreateAuthKeysCodeResponse", + "structure": { + "title": "CreateAuthKeysCodeResponse", + "headers": [ + { + "level": 1, + "text": "CreateAuthKeysCodeResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**CreateAuthKeysCodeResponse**\nSections: Fields\nSuccessfully created authorization code\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createcoinbasechargedata.md", + "filename": "createcoinbasechargedata.md", + "category": "other", + "size_bytes": 1275, + "title": "CreateCoinbaseChargeData", + "structure": { + "title": "CreateCoinbaseChargeData", + "headers": [ + { + "level": 1, + "text": "CreateCoinbaseChargeData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**CreateCoinbaseChargeData**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createcoinbasechargeglobals.md", + "filename": "createcoinbasechargeglobals.md", + "category": "other", + "size_bytes": 2426, + "title": "CreateCoinbaseChargeGlobals", + "structure": { + "title": "CreateCoinbaseChargeGlobals", + "headers": [ + { + "level": 1, + "text": "CreateCoinbaseChargeGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateCoinbaseChargeGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createcoinbasechargerequest.md", + "filename": "createcoinbasechargerequest.md", + "category": "other", + "size_bytes": 3760, + "title": "CreateCoinbaseChargeRequest", + "structure": { + "title": "CreateCoinbaseChargeRequest", + "headers": [ + { + "level": 1, + "text": "CreateCoinbaseChargeRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateCoinbaseChargeRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createcoinbasechargeresponse.md", + "filename": "createcoinbasechargeresponse.md", + "category": "other", + "size_bytes": 1094, + "title": "CreateCoinbaseChargeResponse", + "structure": { + "title": "CreateCoinbaseChargeResponse", + "headers": [ + { + "level": 1, + "text": "CreateCoinbaseChargeResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**CreateCoinbaseChargeResponse**\nSections: Fields\nReturns the calldata to fulfill the transaction\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createcoinbasechargesecurity.md", + "filename": "createcoinbasechargesecurity.md", + "category": "other", + "size_bytes": 301, + "title": "CreateCoinbaseChargeSecurity", + "structure": { + "title": "CreateCoinbaseChargeSecurity", + "headers": [ + { + "level": 1, + "text": "CreateCoinbaseChargeSecurity", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**CreateCoinbaseChargeSecurity**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `bearer` | *str*...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsdata.md", + "filename": "createembeddingsdata.md", + "category": "other", + "size_bytes": 1345, + "title": "CreateEmbeddingsData", + "structure": { + "title": "CreateEmbeddingsData", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateEmbeddingsData**\nSections: Fields\n| Field | Type | Required | Des...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsglobals.md", + "filename": "createembeddingsglobals.md", + "category": "other", + "size_bytes": 2422, + "title": "CreateEmbeddingsGlobals", + "structure": { + "title": "CreateEmbeddingsGlobals", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateEmbeddingsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsprovider.md", + "filename": "createembeddingsprovider.md", + "category": "other", + "size_bytes": 21008, + "title": "CreateEmbeddingsProvider", + "structure": { + "title": "CreateEmbeddingsProvider", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsProvider", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 20 + }, + "summary": "**CreateEmbeddingsProvider**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsrequest.md", + "filename": "createembeddingsrequest.md", + "category": "other", + "size_bytes": 3016, + "title": "CreateEmbeddingsRequest", + "structure": { + "title": "CreateEmbeddingsRequest", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateEmbeddingsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsrequestbody.md", + "filename": "createembeddingsrequestbody.md", + "category": "other", + "size_bytes": 3048, + "title": "CreateEmbeddingsRequestBody", + "structure": { + "title": "CreateEmbeddingsRequestBody", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**CreateEmbeddingsRequestBody**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createembeddingsresponse.md", + "filename": "createembeddingsresponse.md", + "category": "other", + "size_bytes": 235, + "title": "CreateEmbeddingsResponse", + "structure": { + "title": "CreateEmbeddingsResponse", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`operations.CreateEmbeddingsResponseBody`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: operations.CreateEmbeddingsResponseBody = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**CreateEmbeddingsResponse**\nSections: Supported Types, `operations.CreateEmbeddingsResponseBody`, `str`\nvalue: operations.CreateEmbeddingsResponseBody = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/operations/createembeddingsresponsebody.md", + "filename": "createembeddingsresponsebody.md", + "category": "other", + "size_bytes": 2345, + "title": "CreateEmbeddingsResponseBody", + "structure": { + "title": "CreateEmbeddingsResponseBody", + "headers": [ + { + "level": 1, + "text": "CreateEmbeddingsResponseBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**CreateEmbeddingsResponseBody**\nSections: Fields\nEmbedding response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardraildata.md", + "filename": "createguardraildata.md", + "category": "other", + "size_bytes": 7581, + "title": "CreateGuardrailData", + "structure": { + "title": "CreateGuardrailData", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 19 + }, + "summary": "**CreateGuardrailData**\nSections: Fields\nThe created guardrail\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailglobals.md", + "filename": "createguardrailglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "CreateGuardrailGlobals", + "structure": { + "title": "CreateGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailrequest.md", + "filename": "createguardrailrequest.md", + "category": "other", + "size_bytes": 6045, + "title": "CreateGuardrailRequest", + "structure": { + "title": "CreateGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateGuardrailRequest**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailrequestbody.md", + "filename": "createguardrailrequestbody.md", + "category": "other", + "size_bytes": 5594, + "title": "CreateGuardrailRequestBody", + "structure": { + "title": "CreateGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**CreateGuardrailRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailresetintervalrequest.md", + "filename": "createguardrailresetintervalrequest.md", + "category": "other", + "size_bytes": 241, + "title": "CreateGuardrailResetIntervalRequest", + "structure": { + "title": "CreateGuardrailResetIntervalRequest", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailResetIntervalRequest", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**CreateGuardrailResetIntervalRequest**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailresetintervalresponse.md", + "filename": "createguardrailresetintervalresponse.md", + "category": "other", + "size_bytes": 242, + "title": "CreateGuardrailResetIntervalResponse", + "structure": { + "title": "CreateGuardrailResetIntervalResponse", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailResetIntervalResponse", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**CreateGuardrailResetIntervalResponse**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createguardrailresponse.md", + "filename": "createguardrailresponse.md", + "category": "other", + "size_bytes": 5611, + "title": "CreateGuardrailResponse", + "structure": { + "title": "CreateGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "CreateGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**CreateGuardrailResponse**\nSections: Fields\nGuardrail created successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeysdata.md", + "filename": "createkeysdata.md", + "category": "other", + "size_bytes": 8084, + "title": "CreateKeysData", + "structure": { + "title": "CreateKeysData", + "headers": [ + { + "level": 1, + "text": "CreateKeysData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 4, + "line_count": 28 + }, + "summary": "**CreateKeysData**\nSections: Fields\nThe created API key information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeysglobals.md", + "filename": "createkeysglobals.md", + "category": "other", + "size_bytes": 2416, + "title": "CreateKeysGlobals", + "structure": { + "title": "CreateKeysGlobals", + "headers": [ + { + "level": 1, + "text": "CreateKeysGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateKeysGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeyslimitreset.md", + "filename": "createkeyslimitreset.md", + "category": "other", + "size_bytes": 332, + "title": "CreateKeysLimitReset", + "structure": { + "title": "CreateKeysLimitReset", + "headers": [ + { + "level": 1, + "text": "CreateKeysLimitReset", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**CreateKeysLimitReset**\nSections: Values\nType of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeysrequest.md", + "filename": "createkeysrequest.md", + "category": "other", + "size_bytes": 3765, + "title": "CreateKeysRequest", + "structure": { + "title": "CreateKeysRequest", + "headers": [ + { + "level": 1, + "text": "CreateKeysRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateKeysRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeysrequestbody.md", + "filename": "createkeysrequestbody.md", + "category": "other", + "size_bytes": 5930, + "title": "CreateKeysRequestBody", + "structure": { + "title": "CreateKeysRequestBody", + "headers": [ + { + "level": 1, + "text": "CreateKeysRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 3, + "line_count": 12 + }, + "summary": "**CreateKeysRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createkeysresponse.md", + "filename": "createkeysresponse.md", + "category": "other", + "size_bytes": 11311, + "title": "CreateKeysResponse", + "structure": { + "title": "CreateKeysResponse", + "headers": [ + { + "level": 1, + "text": "CreateKeysResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**CreateKeysResponse**\nSections: Fields\nAPI key created successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createresponsesglobals.md", + "filename": "createresponsesglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "CreateResponsesGlobals", + "structure": { + "title": "CreateResponsesGlobals", + "headers": [ + { + "level": 1, + "text": "CreateResponsesGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**CreateResponsesGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createresponsesrequest.md", + "filename": "createresponsesrequest.md", + "category": "other", + "size_bytes": 9951, + "title": "CreateResponsesRequest", + "structure": { + "title": "CreateResponsesRequest", + "headers": [ + { + "level": 1, + "text": "CreateResponsesRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**CreateResponsesRequest**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/createresponsesresponse.md", + "filename": "createresponsesresponse.md", + "category": "other", + "size_bytes": 518, + "title": "CreateResponsesResponse", + "structure": { + "title": "CreateResponsesResponse", + "headers": [ + { + "level": 1, + "text": "CreateResponsesResponse", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.OpenResponsesNonStreamingResponse`", + "line": 6 + }, + { + "level": 3, + "text": "`Union[eventstreaming.EventStream[components.OpenResponsesStreamEvent], eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]]`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.OpenResponsesNonStreamingResponse = /* values here */" + }, + { + "language": "python", + "code": "value: Union[eventstreaming.EventStream[components.OpenResponsesStreamEvent], eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**CreateResponsesResponse**\nSections: Supported Types, `components.OpenResponsesNonStreamingResponse`, `Union[eventstreaming.EventStream[components.OpenResponsesStreamEvent], eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]]`\nvalue: components.OpenResponsesNonStreamingResponse = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/operations/createresponsesresponsebody.md", + "filename": "createresponsesresponsebody.md", + "category": "other", + "size_bytes": 6273, + "title": "CreateResponsesResponseBody", + "structure": { + "title": "CreateResponsesResponseBody", + "headers": [ + { + "level": 1, + "text": "CreateResponsesResponseBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**CreateResponsesResponseBody**\nSections: Fields\nSuccessful response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deleteguardrailglobals.md", + "filename": "deleteguardrailglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "DeleteGuardrailGlobals", + "structure": { + "title": "DeleteGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "DeleteGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**DeleteGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deleteguardrailrequest.md", + "filename": "deleteguardrailrequest.md", + "category": "other", + "size_bytes": 3755, + "title": "DeleteGuardrailRequest", + "structure": { + "title": "DeleteGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "DeleteGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**DeleteGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deleteguardrailresponse.md", + "filename": "deleteguardrailresponse.md", + "category": "other", + "size_bytes": 766, + "title": "DeleteGuardrailResponse", + "structure": { + "title": "DeleteGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "DeleteGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**DeleteGuardrailResponse**\nSections: Fields\nGuardrail deleted successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deletekeysglobals.md", + "filename": "deletekeysglobals.md", + "category": "other", + "size_bytes": 2416, + "title": "DeleteKeysGlobals", + "structure": { + "title": "DeleteKeysGlobals", + "headers": [ + { + "level": 1, + "text": "DeleteKeysGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**DeleteKeysGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deletekeysrequest.md", + "filename": "deletekeysrequest.md", + "category": "other", + "size_bytes": 3750, + "title": "DeleteKeysRequest", + "structure": { + "title": "DeleteKeysRequest", + "headers": [ + { + "level": 1, + "text": "DeleteKeysRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**DeleteKeysRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/deletekeysresponse.md", + "filename": "deletekeysresponse.md", + "category": "other", + "size_bytes": 729, + "title": "DeleteKeysResponse", + "structure": { + "title": "DeleteKeysResponse", + "headers": [ + { + "level": 1, + "text": "DeleteKeysResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**DeleteKeysResponse**\nSections: Fields\nAPI key deleted successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/embedding.md", + "filename": "embedding.md", + "category": "other", + "size_bytes": 164, + "title": "Embedding", + "structure": { + "title": "Embedding", + "headers": [ + { + "level": 1, + "text": "Embedding", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`List[float]`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: List[float] = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Embedding**\nSections: Supported Types, `List[float]`, `str`\nvalue: List[float] = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.5 + } + } + }, + { + "path": "docs/operations/encodingformat.md", + "filename": "encodingformat.md", + "category": "other", + "size_bytes": 125, + "title": "EncodingFormat", + "structure": { + "title": "EncodingFormat", + "headers": [ + { + "level": 1, + "text": "EncodingFormat", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**EncodingFormat**\nSections: Values\n| Name | Value | | -------- | -------- | | `FLOAT` | float | | `BASE64` | base64 |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/exchangeauthcodeforapikeycodechallengemethod.md", + "filename": "exchangeauthcodeforapikeycodechallengemethod.md", + "category": "other", + "size_bytes": 195, + "title": "ExchangeAuthCodeForAPIKeyCodeChallengeMethod", + "structure": { + "title": "ExchangeAuthCodeForAPIKeyCodeChallengeMethod", + "headers": [ + { + "level": 1, + "text": "ExchangeAuthCodeForAPIKeyCodeChallengeMethod", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ExchangeAuthCodeForAPIKeyCodeChallengeMethod**\nSections: Values\nThe method used to generate the code challenge\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/exchangeauthcodeforapikeyglobals.md", + "filename": "exchangeauthcodeforapikeyglobals.md", + "category": "other", + "size_bytes": 2431, + "title": "ExchangeAuthCodeForAPIKeyGlobals", + "structure": { + "title": "ExchangeAuthCodeForAPIKeyGlobals", + "headers": [ + { + "level": 1, + "text": "ExchangeAuthCodeForAPIKeyGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ExchangeAuthCodeForAPIKeyGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/exchangeauthcodeforapikeyrequest.md", + "filename": "exchangeauthcodeforapikeyrequest.md", + "category": "other", + "size_bytes": 3769, + "title": "ExchangeAuthCodeForAPIKeyRequest", + "structure": { + "title": "ExchangeAuthCodeForAPIKeyRequest", + "headers": [ + { + "level": 1, + "text": "ExchangeAuthCodeForAPIKeyRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ExchangeAuthCodeForAPIKeyRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/exchangeauthcodeforapikeyrequestbody.md", + "filename": "exchangeauthcodeforapikeyrequestbody.md", + "category": "other", + "size_bytes": 3586, + "title": "ExchangeAuthCodeForAPIKeyRequestBody", + "structure": { + "title": "ExchangeAuthCodeForAPIKeyRequestBody", + "headers": [ + { + "level": 1, + "text": "ExchangeAuthCodeForAPIKeyRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**ExchangeAuthCodeForAPIKeyRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/exchangeauthcodeforapikeyresponse.md", + "filename": "exchangeauthcodeforapikeyresponse.md", + "category": "other", + "size_bytes": 1620, + "title": "ExchangeAuthCodeForAPIKeyResponse", + "structure": { + "title": "ExchangeAuthCodeForAPIKeyResponse", + "headers": [ + { + "level": 1, + "text": "ExchangeAuthCodeForAPIKeyResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ExchangeAuthCodeForAPIKeyResponse**\nSections: Fields\nSuccessfully exchanged code for an API key\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcreditsdata.md", + "filename": "getcreditsdata.md", + "category": "other", + "size_bytes": 557, + "title": "GetCreditsData", + "structure": { + "title": "GetCreditsData", + "headers": [ + { + "level": 1, + "text": "GetCreditsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetCreditsData**\nSections: Fields\n| Field | Type | Required | Description | Example | | ----------------------- | ----------------------- | --------------...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcreditsglobals.md", + "filename": "getcreditsglobals.md", + "category": "other", + "size_bytes": 2416, + "title": "GetCreditsGlobals", + "structure": { + "title": "GetCreditsGlobals", + "headers": [ + { + "level": 1, + "text": "GetCreditsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetCreditsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcreditsrequest.md", + "filename": "getcreditsrequest.md", + "category": "other", + "size_bytes": 2416, + "title": "GetCreditsRequest", + "structure": { + "title": "GetCreditsRequest", + "headers": [ + { + "level": 1, + "text": "GetCreditsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetCreditsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcreditsresponse.md", + "filename": "getcreditsresponse.md", + "category": "other", + "size_bytes": 1018, + "title": "GetCreditsResponse", + "structure": { + "title": "GetCreditsResponse", + "headers": [ + { + "level": 1, + "text": "GetCreditsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetCreditsResponse**\nSections: Fields\nTotal credits purchased and used\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcurrentkeydata.md", + "filename": "getcurrentkeydata.md", + "category": "other", + "size_bytes": 19009, + "title": "GetCurrentKeyData", + "structure": { + "title": "GetCurrentKeyData", + "headers": [ + { + "level": 1, + "text": "GetCurrentKeyData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 4, + "line_count": 27 + }, + "summary": "**GetCurrentKeyData**\nSections: Fields\nCurrent API key information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcurrentkeyglobals.md", + "filename": "getcurrentkeyglobals.md", + "category": "other", + "size_bytes": 2419, + "title": "GetCurrentKeyGlobals", + "structure": { + "title": "GetCurrentKeyGlobals", + "headers": [ + { + "level": 1, + "text": "GetCurrentKeyGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetCurrentKeyGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcurrentkeyrequest.md", + "filename": "getcurrentkeyrequest.md", + "category": "other", + "size_bytes": 2419, + "title": "GetCurrentKeyRequest", + "structure": { + "title": "GetCurrentKeyRequest", + "headers": [ + { + "level": 1, + "text": "GetCurrentKeyRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetCurrentKeyRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getcurrentkeyresponse.md", + "filename": "getcurrentkeyresponse.md", + "category": "other", + "size_bytes": 8371, + "title": "GetCurrentKeyResponse", + "structure": { + "title": "GetCurrentKeyResponse", + "headers": [ + { + "level": 1, + "text": "GetCurrentKeyResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetCurrentKeyResponse**\nSections: Fields\nAPI key details\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getgenerationdata.md", + "filename": "getgenerationdata.md", + "category": "other", + "size_bytes": 14161, + "title": "GetGenerationData", + "structure": { + "title": "GetGenerationData", + "headers": [ + { + "level": 1, + "text": "GetGenerationData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 43 + }, + "summary": "**GetGenerationData**\nSections: Fields\nGeneration data\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getgenerationglobals.md", + "filename": "getgenerationglobals.md", + "category": "other", + "size_bytes": 2419, + "title": "GetGenerationGlobals", + "structure": { + "title": "GetGenerationGlobals", + "headers": [ + { + "level": 1, + "text": "GetGenerationGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetGenerationGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getgenerationrequest.md", + "filename": "getgenerationrequest.md", + "category": "other", + "size_bytes": 3013, + "title": "GetGenerationRequest", + "structure": { + "title": "GetGenerationRequest", + "headers": [ + { + "level": 1, + "text": "GetGenerationRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**GetGenerationRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getgenerationresponse.md", + "filename": "getgenerationresponse.md", + "category": "other", + "size_bytes": 891, + "title": "GetGenerationResponse", + "structure": { + "title": "GetGenerationResponse", + "headers": [ + { + "level": 1, + "text": "GetGenerationResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetGenerationResponse**\nSections: Fields\nGeneration response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getguardraildata.md", + "filename": "getguardraildata.md", + "category": "other", + "size_bytes": 6326, + "title": "GetGuardrailData", + "structure": { + "title": "GetGuardrailData", + "headers": [ + { + "level": 1, + "text": "GetGuardrailData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 19 + }, + "summary": "**GetGuardrailData**\nSections: Fields\nThe guardrail\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getguardrailglobals.md", + "filename": "getguardrailglobals.md", + "category": "other", + "size_bytes": 2418, + "title": "GetGuardrailGlobals", + "structure": { + "title": "GetGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "GetGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getguardrailrequest.md", + "filename": "getguardrailrequest.md", + "category": "other", + "size_bytes": 3752, + "title": "GetGuardrailRequest", + "structure": { + "title": "GetGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "GetGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**GetGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getguardrailresetinterval.md", + "filename": "getguardrailresetinterval.md", + "category": "other", + "size_bytes": 231, + "title": "GetGuardrailResetInterval", + "structure": { + "title": "GetGuardrailResetInterval", + "headers": [ + { + "level": 1, + "text": "GetGuardrailResetInterval", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**GetGuardrailResetInterval**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getguardrailresponse.md", + "filename": "getguardrailresponse.md", + "category": "other", + "size_bytes": 5595, + "title": "GetGuardrailResponse", + "structure": { + "title": "GetGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "GetGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetGuardrailResponse**\nSections: Fields\nGuardrail details\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getkeydata.md", + "filename": "getkeydata.md", + "category": "other", + "size_bytes": 8072, + "title": "GetKeyData", + "structure": { + "title": "GetKeyData", + "headers": [ + { + "level": 1, + "text": "GetKeyData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 4, + "line_count": 28 + }, + "summary": "**GetKeyData**\nSections: Fields\nThe API key information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getkeyglobals.md", + "filename": "getkeyglobals.md", + "category": "other", + "size_bytes": 2412, + "title": "GetKeyGlobals", + "structure": { + "title": "GetKeyGlobals", + "headers": [ + { + "level": 1, + "text": "GetKeyGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetKeyGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getkeyrequest.md", + "filename": "getkeyrequest.md", + "category": "other", + "size_bytes": 3746, + "title": "GetKeyRequest", + "structure": { + "title": "GetKeyRequest", + "headers": [ + { + "level": 1, + "text": "GetKeyRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**GetKeyRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getkeyresponse.md", + "filename": "getkeyresponse.md", + "category": "other", + "size_bytes": 8502, + "title": "GetKeyResponse", + "structure": { + "title": "GetKeyResponse", + "headers": [ + { + "level": 1, + "text": "GetKeyResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetKeyResponse**\nSections: Fields\nAPI key details\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getmodelsglobals.md", + "filename": "getmodelsglobals.md", + "category": "other", + "size_bytes": 2415, + "title": "GetModelsGlobals", + "structure": { + "title": "GetModelsGlobals", + "headers": [ + { + "level": 1, + "text": "GetModelsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetModelsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getmodelsrequest.md", + "filename": "getmodelsrequest.md", + "category": "other", + "size_bytes": 4491, + "title": "GetModelsRequest", + "structure": { + "title": "GetModelsRequest", + "headers": [ + { + "level": 1, + "text": "GetModelsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**GetModelsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getparametersprovider.md", + "filename": "getparametersprovider.md", + "category": "other", + "size_bytes": 3302, + "title": "GetParametersProvider", + "structure": { + "title": "GetParametersProvider", + "headers": [ + { + "level": 1, + "text": "GetParametersProvider", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 76 + }, + "summary": "**GetParametersProvider**\nSections: Values\n| Name | Value | | ------------------- | ------------------- | | `AI21` | AI21 | | `AION_LABS` | AionLabs | | `ALIBABA` ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getuseractivityglobals.md", + "filename": "getuseractivityglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "GetUserActivityGlobals", + "structure": { + "title": "GetUserActivityGlobals", + "headers": [ + { + "level": 1, + "text": "GetUserActivityGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**GetUserActivityGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getuseractivityrequest.md", + "filename": "getuseractivityrequest.md", + "category": "other", + "size_bytes": 3755, + "title": "GetUserActivityRequest", + "structure": { + "title": "GetUserActivityRequest", + "headers": [ + { + "level": 1, + "text": "GetUserActivityRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**GetUserActivityRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/getuseractivityresponse.md", + "filename": "getuseractivityresponse.md", + "category": "other", + "size_bytes": 872, + "title": "GetUserActivityResponse", + "structure": { + "title": "GetUserActivityResponse", + "headers": [ + { + "level": 1, + "text": "GetUserActivityResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**GetUserActivityResponse**\nSections: Fields\nReturns user activity data grouped by endpoint\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/ignore.md", + "filename": "ignore.md", + "category": "other", + "size_bytes": 185, + "title": "Ignore", + "structure": { + "title": "Ignore", + "headers": [ + { + "level": 1, + "text": "Ignore", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Ignore**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/operations/imageurl.md", + "filename": "imageurl.md", + "category": "other", + "size_bytes": 281, + "title": "ImageURL", + "structure": { + "title": "ImageURL", + "headers": [ + { + "level": 1, + "text": "ImageURL", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ImageURL**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `url` | *str*...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/input.md", + "filename": "input.md", + "category": "other", + "size_bytes": 686, + "title": "Input", + "structure": { + "title": "Input", + "headers": [ + { + "level": 1, + "text": "Input", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**Input**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/inputunion.md", + "filename": "inputunion.md", + "category": "other", + "size_bytes": 414, + "title": "InputUnion", + "structure": { + "title": "InputUnion", + "headers": [ + { + "level": 1, + "text": "InputUnion", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`str`", + "line": 6 + }, + { + "level": 3, + "text": "`List[str]`", + "line": 12 + }, + { + "level": 3, + "text": "`List[float]`", + "line": 18 + }, + { + "level": 3, + "text": "`List[List[float]]`", + "line": 24 + }, + { + "level": 3, + "text": "`List[operations.Input]`", + "line": 30 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: str = /* values here */" + }, + { + "language": "python", + "code": "value: List[str] = /* values here */" + }, + { + "language": "python", + "code": "value: List[float] = /* values here */" + }, + { + "language": "python", + "code": "value: List[List[float]] = /* values here */" + }, + { + "language": "python", + "code": "value: List[operations.Input] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 12, + "line_count": 36 + }, + "summary": "**InputUnion**\nSections: Supported Types, `str`, `List[str]`, `List[float]`, `List[List[float]]`\nvalue: str = /* values here */\n(12 words, 5 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 5, + "images": 0, + "quality_scores": { + "avg_code_quality": 6.5 + } + } + }, + { + "path": "docs/operations/listdata.md", + "filename": "listdata.md", + "category": "other", + "size_bytes": 8045, + "title": "ListData", + "structure": { + "title": "ListData", + "headers": [ + { + "level": 1, + "text": "ListData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 3, + "line_count": 26 + }, + "summary": "**ListData**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listembeddingsmodelsglobals.md", + "filename": "listembeddingsmodelsglobals.md", + "category": "other", + "size_bytes": 2426, + "title": "ListEmbeddingsModelsGlobals", + "structure": { + "title": "ListEmbeddingsModelsGlobals", + "headers": [ + { + "level": 1, + "text": "ListEmbeddingsModelsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListEmbeddingsModelsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listembeddingsmodelsrequest.md", + "filename": "listembeddingsmodelsrequest.md", + "category": "other", + "size_bytes": 2426, + "title": "ListEmbeddingsModelsRequest", + "structure": { + "title": "ListEmbeddingsModelsRequest", + "headers": [ + { + "level": 1, + "text": "ListEmbeddingsModelsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListEmbeddingsModelsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointsglobals.md", + "filename": "listendpointsglobals.md", + "category": "other", + "size_bytes": 2419, + "title": "ListEndpointsGlobals", + "structure": { + "title": "ListEndpointsGlobals", + "headers": [ + { + "level": 1, + "text": "ListEndpointsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListEndpointsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointsrequest.md", + "filename": "listendpointsrequest.md", + "category": "other", + "size_bytes": 3607, + "title": "ListEndpointsRequest", + "structure": { + "title": "ListEndpointsRequest", + "headers": [ + { + "level": 1, + "text": "ListEndpointsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ListEndpointsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointsresponse.md", + "filename": "listendpointsresponse.md", + "category": "other", + "size_bytes": 15175, + "title": "ListEndpointsResponse", + "structure": { + "title": "ListEndpointsResponse", + "headers": [ + { + "level": 1, + "text": "ListEndpointsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ListEndpointsResponse**\nSections: Fields\nReturns a list of endpoints\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointszdrglobals.md", + "filename": "listendpointszdrglobals.md", + "category": "other", + "size_bytes": 2422, + "title": "ListEndpointsZdrGlobals", + "structure": { + "title": "ListEndpointsZdrGlobals", + "headers": [ + { + "level": 1, + "text": "ListEndpointsZdrGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListEndpointsZdrGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointszdrrequest.md", + "filename": "listendpointszdrrequest.md", + "category": "other", + "size_bytes": 2422, + "title": "ListEndpointsZdrRequest", + "structure": { + "title": "ListEndpointsZdrRequest", + "headers": [ + { + "level": 1, + "text": "ListEndpointsZdrRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListEndpointsZdrRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listendpointszdrresponse.md", + "filename": "listendpointszdrresponse.md", + "category": "other", + "size_bytes": 902, + "title": "ListEndpointsZdrResponse", + "structure": { + "title": "ListEndpointsZdrResponse", + "headers": [ + { + "level": 1, + "text": "ListEndpointsZdrResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ListEndpointsZdrResponse**\nSections: Fields\nReturns a list of endpoints\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listglobals.md", + "filename": "listglobals.md", + "category": "other", + "size_bytes": 2410, + "title": "ListGlobals", + "structure": { + "title": "ListGlobals", + "headers": [ + { + "level": 1, + "text": "ListGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailkeyassignmentsdata.md", + "filename": "listguardrailkeyassignmentsdata.md", + "category": "other", + "size_bytes": 3079, + "title": "ListGuardrailKeyAssignmentsData", + "structure": { + "title": "ListGuardrailKeyAssignmentsData", + "headers": [ + { + "level": 1, + "text": "ListGuardrailKeyAssignmentsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**ListGuardrailKeyAssignmentsData**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailkeyassignmentsglobals.md", + "filename": "listguardrailkeyassignmentsglobals.md", + "category": "other", + "size_bytes": 2433, + "title": "ListGuardrailKeyAssignmentsGlobals", + "structure": { + "title": "ListGuardrailKeyAssignmentsGlobals", + "headers": [ + { + "level": 1, + "text": "ListGuardrailKeyAssignmentsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListGuardrailKeyAssignmentsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailkeyassignmentsrequest.md", + "filename": "listguardrailkeyassignmentsrequest.md", + "category": "other", + "size_bytes": 5251, + "title": "ListGuardrailKeyAssignmentsRequest", + "structure": { + "title": "ListGuardrailKeyAssignmentsRequest", + "headers": [ + { + "level": 1, + "text": "ListGuardrailKeyAssignmentsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**ListGuardrailKeyAssignmentsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailkeyassignmentsresponse.md", + "filename": "listguardrailkeyassignmentsresponse.md", + "category": "other", + "size_bytes": 2143, + "title": "ListGuardrailKeyAssignmentsResponse", + "structure": { + "title": "ListGuardrailKeyAssignmentsResponse", + "headers": [ + { + "level": 1, + "text": "ListGuardrailKeyAssignmentsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ListGuardrailKeyAssignmentsResponse**\nSections: Fields\nList of key assignments\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailmemberassignmentsdata.md", + "filename": "listguardrailmemberassignmentsdata.md", + "category": "other", + "size_bytes": 2305, + "title": "ListGuardrailMemberAssignmentsData", + "structure": { + "title": "ListGuardrailMemberAssignmentsData", + "headers": [ + { + "level": 1, + "text": "ListGuardrailMemberAssignmentsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ListGuardrailMemberAssignmentsData**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailmemberassignmentsglobals.md", + "filename": "listguardrailmemberassignmentsglobals.md", + "category": "other", + "size_bytes": 2436, + "title": "ListGuardrailMemberAssignmentsGlobals", + "structure": { + "title": "ListGuardrailMemberAssignmentsGlobals", + "headers": [ + { + "level": 1, + "text": "ListGuardrailMemberAssignmentsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListGuardrailMemberAssignmentsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailmemberassignmentsrequest.md", + "filename": "listguardrailmemberassignmentsrequest.md", + "category": "other", + "size_bytes": 5254, + "title": "ListGuardrailMemberAssignmentsRequest", + "structure": { + "title": "ListGuardrailMemberAssignmentsRequest", + "headers": [ + { + "level": 1, + "text": "ListGuardrailMemberAssignmentsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**ListGuardrailMemberAssignmentsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailmemberassignmentsresponse.md", + "filename": "listguardrailmemberassignmentsresponse.md", + "category": "other", + "size_bytes": 2269, + "title": "ListGuardrailMemberAssignmentsResponse", + "structure": { + "title": "ListGuardrailMemberAssignmentsResponse", + "headers": [ + { + "level": 1, + "text": "ListGuardrailMemberAssignmentsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ListGuardrailMemberAssignmentsResponse**\nSections: Fields\nList of member assignments\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailsdata.md", + "filename": "listguardrailsdata.md", + "category": "other", + "size_bytes": 6490, + "title": "ListGuardrailsData", + "structure": { + "title": "ListGuardrailsData", + "headers": [ + { + "level": 1, + "text": "ListGuardrailsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 17 + }, + "summary": "**ListGuardrailsData**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailsglobals.md", + "filename": "listguardrailsglobals.md", + "category": "other", + "size_bytes": 2420, + "title": "ListGuardrailsGlobals", + "structure": { + "title": "ListGuardrailsGlobals", + "headers": [ + { + "level": 1, + "text": "ListGuardrailsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListGuardrailsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailsrequest.md", + "filename": "listguardrailsrequest.md", + "category": "other", + "size_bytes": 4496, + "title": "ListGuardrailsRequest", + "structure": { + "title": "ListGuardrailsRequest", + "headers": [ + { + "level": 1, + "text": "ListGuardrailsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ListGuardrailsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailsresetinterval.md", + "filename": "listguardrailsresetinterval.md", + "category": "other", + "size_bytes": 233, + "title": "ListGuardrailsResetInterval", + "structure": { + "title": "ListGuardrailsResetInterval", + "headers": [ + { + "level": 1, + "text": "ListGuardrailsResetInterval", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**ListGuardrailsResetInterval**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listguardrailsresponse.md", + "filename": "listguardrailsresponse.md", + "category": "other", + "size_bytes": 1605, + "title": "ListGuardrailsResponse", + "structure": { + "title": "ListGuardrailsResponse", + "headers": [ + { + "level": 1, + "text": "ListGuardrailsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ListGuardrailsResponse**\nSections: Fields\nList of guardrails\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listkeyassignmentsdata.md", + "filename": "listkeyassignmentsdata.md", + "category": "other", + "size_bytes": 3070, + "title": "ListKeyAssignmentsData", + "structure": { + "title": "ListKeyAssignmentsData", + "headers": [ + { + "level": 1, + "text": "ListKeyAssignmentsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**ListKeyAssignmentsData**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listkeyassignmentsglobals.md", + "filename": "listkeyassignmentsglobals.md", + "category": "other", + "size_bytes": 2424, + "title": "ListKeyAssignmentsGlobals", + "structure": { + "title": "ListKeyAssignmentsGlobals", + "headers": [ + { + "level": 1, + "text": "ListKeyAssignmentsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListKeyAssignmentsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listkeyassignmentsrequest.md", + "filename": "listkeyassignmentsrequest.md", + "category": "other", + "size_bytes": 4500, + "title": "ListKeyAssignmentsRequest", + "structure": { + "title": "ListKeyAssignmentsRequest", + "headers": [ + { + "level": 1, + "text": "ListKeyAssignmentsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ListKeyAssignmentsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listkeyassignmentsresponse.md", + "filename": "listkeyassignmentsresponse.md", + "category": "other", + "size_bytes": 1774, + "title": "ListKeyAssignmentsResponse", + "structure": { + "title": "ListKeyAssignmentsResponse", + "headers": [ + { + "level": 1, + "text": "ListKeyAssignmentsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ListKeyAssignmentsResponse**\nSections: Fields\nList of key assignments\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmemberassignmentsdata.md", + "filename": "listmemberassignmentsdata.md", + "category": "other", + "size_bytes": 2296, + "title": "ListMemberAssignmentsData", + "structure": { + "title": "ListMemberAssignmentsData", + "headers": [ + { + "level": 1, + "text": "ListMemberAssignmentsData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 13 + }, + "summary": "**ListMemberAssignmentsData**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmemberassignmentsglobals.md", + "filename": "listmemberassignmentsglobals.md", + "category": "other", + "size_bytes": 2427, + "title": "ListMemberAssignmentsGlobals", + "structure": { + "title": "ListMemberAssignmentsGlobals", + "headers": [ + { + "level": 1, + "text": "ListMemberAssignmentsGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListMemberAssignmentsGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmemberassignmentsrequest.md", + "filename": "listmemberassignmentsrequest.md", + "category": "other", + "size_bytes": 4503, + "title": "ListMemberAssignmentsRequest", + "structure": { + "title": "ListMemberAssignmentsRequest", + "headers": [ + { + "level": 1, + "text": "ListMemberAssignmentsRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ListMemberAssignmentsRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmemberassignmentsresponse.md", + "filename": "listmemberassignmentsresponse.md", + "category": "other", + "size_bytes": 1900, + "title": "ListMemberAssignmentsResponse", + "structure": { + "title": "ListMemberAssignmentsResponse", + "headers": [ + { + "level": 1, + "text": "ListMemberAssignmentsResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 11 + }, + "summary": "**ListMemberAssignmentsResponse**\nSections: Fields\nList of member assignments\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmodelscountglobals.md", + "filename": "listmodelscountglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "ListModelsCountGlobals", + "structure": { + "title": "ListModelsCountGlobals", + "headers": [ + { + "level": 1, + "text": "ListModelsCountGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListModelsCountGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmodelscountrequest.md", + "filename": "listmodelscountrequest.md", + "category": "other", + "size_bytes": 2421, + "title": "ListModelsCountRequest", + "structure": { + "title": "ListModelsCountRequest", + "headers": [ + { + "level": 1, + "text": "ListModelsCountRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListModelsCountRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmodelsuserglobals.md", + "filename": "listmodelsuserglobals.md", + "category": "other", + "size_bytes": 2420, + "title": "ListModelsUserGlobals", + "structure": { + "title": "ListModelsUserGlobals", + "headers": [ + { + "level": 1, + "text": "ListModelsUserGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListModelsUserGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmodelsuserrequest.md", + "filename": "listmodelsuserrequest.md", + "category": "other", + "size_bytes": 2420, + "title": "ListModelsUserRequest", + "structure": { + "title": "ListModelsUserRequest", + "headers": [ + { + "level": 1, + "text": "ListModelsUserRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListModelsUserRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listmodelsusersecurity.md", + "filename": "listmodelsusersecurity.md", + "category": "other", + "size_bytes": 295, + "title": "ListModelsUserSecurity", + "structure": { + "title": "ListModelsUserSecurity", + "headers": [ + { + "level": 1, + "text": "ListModelsUserSecurity", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ListModelsUserSecurity**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `bearer` | *str*...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listprovidersdata.md", + "filename": "listprovidersdata.md", + "category": "other", + "size_bytes": 1551, + "title": "ListProvidersData", + "structure": { + "title": "ListProvidersData", + "headers": [ + { + "level": 1, + "text": "ListProvidersData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**ListProvidersData**\nSections: Fields\n| Field | Type | Required | Description | Example ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listprovidersglobals.md", + "filename": "listprovidersglobals.md", + "category": "other", + "size_bytes": 2419, + "title": "ListProvidersGlobals", + "structure": { + "title": "ListProvidersGlobals", + "headers": [ + { + "level": 1, + "text": "ListProvidersGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListProvidersGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listprovidersrequest.md", + "filename": "listprovidersrequest.md", + "category": "other", + "size_bytes": 2419, + "title": "ListProvidersRequest", + "structure": { + "title": "ListProvidersRequest", + "headers": [ + { + "level": 1, + "text": "ListProvidersRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**ListProvidersRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listprovidersresponse.md", + "filename": "listprovidersresponse.md", + "category": "other", + "size_bytes": 971, + "title": "ListProvidersResponse", + "structure": { + "title": "ListProvidersResponse", + "headers": [ + { + "level": 1, + "text": "ListProvidersResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ListProvidersResponse**\nSections: Fields\nReturns a list of providers\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listrequest.md", + "filename": "listrequest.md", + "category": "other", + "size_bytes": 4486, + "title": "ListRequest", + "structure": { + "title": "ListRequest", + "headers": [ + { + "level": 1, + "text": "ListRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**ListRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/listresponse.md", + "filename": "listresponse.md", + "category": "other", + "size_bytes": 735, + "title": "ListResponse", + "structure": { + "title": "ListResponse", + "headers": [ + { + "level": 1, + "text": "ListResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**ListResponse**\nSections: Fields\nList of API keys\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/maxprice.md", + "filename": "maxprice.md", + "category": "other", + "size_bytes": 1919, + "title": "MaxPrice", + "structure": { + "title": "MaxPrice", + "headers": [ + { + "level": 1, + "text": "MaxPrice", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 14 + }, + "summary": "**MaxPrice**\nSections: Fields\nThe object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/metadata.md", + "filename": "metadata.md", + "category": "other", + "size_bytes": 453, + "title": "Metadata", + "structure": { + "title": "Metadata", + "headers": [ + { + "level": 1, + "text": "Metadata", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**Metadata**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `chain_id` | *floa...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/object.md", + "filename": "object.md", + "category": "other", + "size_bytes": 81, + "title": "Object", + "structure": { + "title": "Object", + "headers": [ + { + "level": 1, + "text": "Object", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**Object**\nSections: Values\n| Name | Value | | ------ | ------ | | `LIST` | list |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/objectembedding.md", + "filename": "objectembedding.md", + "category": "other", + "size_bytes": 120, + "title": "ObjectEmbedding", + "structure": { + "title": "ObjectEmbedding", + "headers": [ + { + "level": 1, + "text": "ObjectEmbedding", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**ObjectEmbedding**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `EMBEDDING` | embedding |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/only.md", + "filename": "only.md", + "category": "other", + "size_bytes": 183, + "title": "Only", + "structure": { + "title": "Only", + "headers": [ + { + "level": 1, + "text": "Only", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Only**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/operations/order.md", + "filename": "order.md", + "category": "other", + "size_bytes": 184, + "title": "Order", + "structure": { + "title": "Order", + "headers": [ + { + "level": 1, + "text": "Order", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ProviderName`", + "line": 6 + }, + { + "level": 3, + "text": "`str`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ProviderName = /* values here */" + }, + { + "language": "python", + "code": "value: str = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**Order**\nSections: Supported Types, `components.ProviderName`, `str`\nvalue: components.ProviderName = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.0 + } + } + }, + { + "path": "docs/operations/providername.md", + "filename": "providername.md", + "category": "other", + "size_bytes": 4811, + "title": "ProviderName", + "structure": { + "title": "ProviderName", + "headers": [ + { + "level": 1, + "text": "ProviderName", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 109 + }, + "summary": "**ProviderName**\nSections: Values\n| Name | Value | | ------------------- | ------------------- | | `ANY_SCALE` | AnyScale | | `ATOMA` | Atoma | | `CENT_ML` ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/providerresponse.md", + "filename": "providerresponse.md", + "category": "other", + "size_bytes": 2533, + "title": "ProviderResponse", + "structure": { + "title": "ProviderResponse", + "headers": [ + { + "level": 1, + "text": "ProviderResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**ProviderResponse**\nSections: Fields\n| Field | Type | Required ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/ratelimit.md", + "filename": "ratelimit.md", + "category": "other", + "size_bytes": 1400, + "title": "~~RateLimit~~", + "structure": { + "title": "~~RateLimit~~", + "headers": [ + { + "level": 1, + "text": "~~RateLimit~~", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 8 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 5, + "line_count": 14 + }, + "summary": "**~~RateLimit~~**\nSections: Fields\nLegacy rate limit information about a key. Will always return -1.\n(5 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/sendchatcompletionrequestglobals.md", + "filename": "sendchatcompletionrequestglobals.md", + "category": "other", + "size_bytes": 2431, + "title": "SendChatCompletionRequestGlobals", + "structure": { + "title": "SendChatCompletionRequestGlobals", + "headers": [ + { + "level": 1, + "text": "SendChatCompletionRequestGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**SendChatCompletionRequestGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/sendchatcompletionrequestrequest.md", + "filename": "sendchatcompletionrequestrequest.md", + "category": "other", + "size_bytes": 5488, + "title": "SendChatCompletionRequestRequest", + "structure": { + "title": "SendChatCompletionRequestRequest", + "headers": [ + { + "level": 1, + "text": "SendChatCompletionRequestRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**SendChatCompletionRequestRequest**\nSections: Fields\n| Field ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/sendchatcompletionrequestresponse.md", + "filename": "sendchatcompletionrequestresponse.md", + "category": "other", + "size_bytes": 494, + "title": "SendChatCompletionRequestResponse", + "structure": { + "title": "SendChatCompletionRequestResponse", + "headers": [ + { + "level": 1, + "text": "SendChatCompletionRequestResponse", + "line": 1 + }, + { + "level": 2, + "text": "Supported Types", + "line": 4 + }, + { + "level": 3, + "text": "`components.ChatResponse`", + "line": 6 + }, + { + "level": 3, + "text": "`Union[eventstreaming.EventStream[components.ChatStreamingResponseChunk], eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]]`", + "line": 12 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "value: components.ChatResponse = /* values here */" + }, + { + "language": "python", + "code": "value: Union[eventstreaming.EventStream[components.ChatStreamingResponseChunk], eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]] = /* values here */" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 6, + "line_count": 18 + }, + "summary": "**SendChatCompletionRequestResponse**\nSections: Supported Types, `components.ChatResponse`, `Union[eventstreaming.EventStream[components.ChatStreamingResponseChunk], eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]]`\nvalue: components.ChatResponse = /* values here */\n(6 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 7.5 + } + } + }, + { + "path": "docs/operations/sendchatcompletionrequestresponsebody.md", + "filename": "sendchatcompletionrequestresponsebody.md", + "category": "other", + "size_bytes": 3425, + "title": "SendChatCompletionRequestResponseBody", + "structure": { + "title": "SendChatCompletionRequestResponseBody", + "headers": [ + { + "level": 1, + "text": "SendChatCompletionRequestResponseBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**SendChatCompletionRequestResponseBody**\nSections: Fields\nSuccessful chat completion response\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/transferintent.md", + "filename": "transferintent.md", + "category": "other", + "size_bytes": 853, + "title": "TransferIntent", + "structure": { + "title": "TransferIntent", + "headers": [ + { + "level": 1, + "text": "TransferIntent", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**TransferIntent**\nSections: Fields\n| Field | Type | Required | Description ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/typeimageurl.md", + "filename": "typeimageurl.md", + "category": "other", + "size_bytes": 117, + "title": "TypeImageURL", + "structure": { + "title": "TypeImageURL", + "headers": [ + { + "level": 1, + "text": "TypeImageURL", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeImageURL**\nSections: Values\n| Name | Value | | ----------- | ----------- | | `IMAGE_URL` | image_url |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/typetext.md", + "filename": "typetext.md", + "category": "other", + "size_bytes": 83, + "title": "TypeText", + "structure": { + "title": "TypeText", + "headers": [ + { + "level": 1, + "text": "TypeText", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**TypeText**\nSections: Values\n| Name | Value | | ------ | ------ | | `TEXT` | text |\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardraildata.md", + "filename": "updateguardraildata.md", + "category": "other", + "size_bytes": 7581, + "title": "UpdateGuardrailData", + "structure": { + "title": "UpdateGuardrailData", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 19 + }, + "summary": "**UpdateGuardrailData**\nSections: Fields\nThe updated guardrail\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailglobals.md", + "filename": "updateguardrailglobals.md", + "category": "other", + "size_bytes": 2421, + "title": "UpdateGuardrailGlobals", + "structure": { + "title": "UpdateGuardrailGlobals", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**UpdateGuardrailGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailrequest.md", + "filename": "updateguardrailrequest.md", + "category": "other", + "size_bytes": 4497, + "title": "UpdateGuardrailRequest", + "structure": { + "title": "UpdateGuardrailRequest", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**UpdateGuardrailRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailrequestbody.md", + "filename": "updateguardrailrequestbody.md", + "category": "other", + "size_bytes": 5594, + "title": "UpdateGuardrailRequestBody", + "structure": { + "title": "UpdateGuardrailRequestBody", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 14 + }, + "summary": "**UpdateGuardrailRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailresetintervalrequest.md", + "filename": "updateguardrailresetintervalrequest.md", + "category": "other", + "size_bytes": 241, + "title": "UpdateGuardrailResetIntervalRequest", + "structure": { + "title": "UpdateGuardrailResetIntervalRequest", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailResetIntervalRequest", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UpdateGuardrailResetIntervalRequest**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailresetintervalresponse.md", + "filename": "updateguardrailresetintervalresponse.md", + "category": "other", + "size_bytes": 242, + "title": "UpdateGuardrailResetIntervalResponse", + "structure": { + "title": "UpdateGuardrailResetIntervalResponse", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailResetIntervalResponse", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UpdateGuardrailResetIntervalResponse**\nSections: Values\nInterval at which the limit resets (daily, weekly, monthly)\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updateguardrailresponse.md", + "filename": "updateguardrailresponse.md", + "category": "other", + "size_bytes": 5611, + "title": "UpdateGuardrailResponse", + "structure": { + "title": "UpdateGuardrailResponse", + "headers": [ + { + "level": 1, + "text": "UpdateGuardrailResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**UpdateGuardrailResponse**\nSections: Fields\nGuardrail updated successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeysdata.md", + "filename": "updatekeysdata.md", + "category": "other", + "size_bytes": 8084, + "title": "UpdateKeysData", + "structure": { + "title": "UpdateKeysData", + "headers": [ + { + "level": 1, + "text": "UpdateKeysData", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 4, + "line_count": 28 + }, + "summary": "**UpdateKeysData**\nSections: Fields\nThe updated API key information\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeysglobals.md", + "filename": "updatekeysglobals.md", + "category": "other", + "size_bytes": 2416, + "title": "UpdateKeysGlobals", + "structure": { + "title": "UpdateKeysGlobals", + "headers": [ + { + "level": 1, + "text": "UpdateKeysGlobals", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 9 + }, + "summary": "**UpdateKeysGlobals**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeyslimitreset.md", + "filename": "updatekeyslimitreset.md", + "category": "other", + "size_bytes": 333, + "title": "UpdateKeysLimitReset", + "structure": { + "title": "UpdateKeysLimitReset", + "headers": [ + { + "level": 1, + "text": "UpdateKeysLimitReset", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UpdateKeysLimitReset**\nSections: Values\nNew limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeysrequest.md", + "filename": "updatekeysrequest.md", + "category": "other", + "size_bytes": 4492, + "title": "UpdateKeysRequest", + "structure": { + "title": "UpdateKeysRequest", + "headers": [ + { + "level": 1, + "text": "UpdateKeysRequest", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 11 + }, + "summary": "**UpdateKeysRequest**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeysrequestbody.md", + "filename": "updatekeysrequestbody.md", + "category": "other", + "size_bytes": 5965, + "title": "UpdateKeysRequestBody", + "structure": { + "title": "UpdateKeysRequestBody", + "headers": [ + { + "level": 1, + "text": "UpdateKeysRequestBody", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 12 + }, + "summary": "**UpdateKeysRequestBody**\nSections: Fields\n| Field | Type ...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/updatekeysresponse.md", + "filename": "updatekeysresponse.md", + "category": "other", + "size_bytes": 8519, + "title": "UpdateKeysResponse", + "structure": { + "title": "UpdateKeysResponse", + "headers": [ + { + "level": 1, + "text": "UpdateKeysResponse", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 10 + }, + "summary": "**UpdateKeysResponse**\nSections: Fields\nAPI key updated successfully\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/usage.md", + "filename": "usage.md", + "category": "other", + "size_bytes": 450, + "title": "Usage", + "structure": { + "title": "Usage", + "headers": [ + { + "level": 1, + "text": "Usage", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 10 + }, + "summary": "**Usage**\nSections: Fields\n| Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `prompt_tokens` | *floa...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/usagelimittype.md", + "filename": "usagelimittype.md", + "category": "other", + "size_bytes": 250, + "title": "UsageLimitType", + "structure": { + "title": "UsageLimitType", + "headers": [ + { + "level": 1, + "text": "UsageLimitType", + "line": 1 + }, + { + "level": 2, + "text": "Values", + "line": 6 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 4, + "line_count": 12 + }, + "summary": "**UsageLimitType**\nSections: Values\nOptional credit limit reset interval. When set, the credit limit resets on this interval.\n(4 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 0, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/operations/web3data.md", + "filename": "web3data.md", + "category": "other", + "size_bytes": 785, + "title": "Web3Data", + "structure": { + "title": "Web3Data", + "headers": [ + { + "level": 1, + "text": "Web3Data", + "line": 1 + }, + { + "level": 2, + "text": "Fields", + "line": 4 + } + ], + "code_blocks": [], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 3, + "line_count": 8 + }, + "summary": "**Web3Data**\nSections: Fields\n| Field | Type | Required | Descripti...\n(3 words, 0 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 0, + "images": 0, + "quality_scores": { + "avg_code_quality": 0 + } + } + }, + { + "path": "docs/sdks/analytics/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 6168, + "title": "Analytics", + "structure": { + "title": "Analytics", + "headers": [ + { + "level": 1, + "text": "Analytics", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "get_user_activity", + "line": 12 + }, + { + "level": 3, + "text": "Example Usage", + "line": 16 + }, + { + "level": 3, + "text": "Parameters", + "line": 37 + }, + { + "level": 3, + "text": "Response", + "line": 46 + }, + { + "level": 3, + "text": "Errors", + "line": 50 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.analytics.get_user_activity(date_=\"2025-08-24\")\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 16, + "line_count": 58 + }, + "summary": "**Analytics**\nSections: Overview, Available Operations, get_user_activity, Example Usage, Parameters\n(*analytics*)\n(16 words, 1 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 1, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/apikeys/README.md", + "filename": "README.md", + "category": "api", + "size_bytes": 43877, + "title": "APIKeys", + "structure": { + "title": "APIKeys", + "headers": [ + { + "level": 1, + "text": "APIKeys", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "list", + "line": 17 + }, + { + "level": 3, + "text": "Example Usage", + "line": 21 + }, + { + "level": 3, + "text": "Parameters", + "line": 42 + }, + { + "level": 3, + "text": "Response", + "line": 52 + }, + { + "level": 3, + "text": "Errors", + "line": 56 + }, + { + "level": 2, + "text": "create", + "line": 65 + }, + { + "level": 3, + "text": "Example Usage", + "line": 69 + }, + { + "level": 3, + "text": "Parameters", + "line": 90 + }, + { + "level": 3, + "text": "Response", + "line": 103 + }, + { + "level": 3, + "text": "Errors", + "line": 107 + }, + { + "level": 2, + "text": "update", + "line": 117 + }, + { + "level": 3, + "text": "Example Usage", + "line": 121 + }, + { + "level": 3, + "text": "Parameters", + "line": 142 + }, + { + "level": 3, + "text": "Response", + "line": 156 + }, + { + "level": 3, + "text": "Errors", + "line": 160 + }, + { + "level": 2, + "text": "delete", + "line": 171 + }, + { + "level": 3, + "text": "Example Usage", + "line": 175 + }, + { + "level": 3, + "text": "Parameters", + "line": 196 + }, + { + "level": 3, + "text": "Response", + "line": 205 + }, + { + "level": 3, + "text": "Errors", + "line": 209 + }, + { + "level": 2, + "text": "get", + "line": 219 + }, + { + "level": 3, + "text": "Example Usage", + "line": 223 + }, + { + "level": 3, + "text": "Parameters", + "line": 244 + }, + { + "level": 3, + "text": "Response", + "line": 253 + }, + { + "level": 3, + "text": "Errors", + "line": 257 + }, + { + "level": 2, + "text": "get_current_key_metadata", + "line": 267 + }, + { + "level": 3, + "text": "Example Usage", + "line": 271 + }, + { + "level": 3, + "text": "Parameters", + "line": 292 + }, + { + "level": 3, + "text": "Response", + "line": 300 + }, + { + "level": 3, + "text": "Errors", + "line": 304 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.list(include_disabled=\"false\", offset=\"0\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.create(name=\"My New API Key\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.update(hash=\"f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.delete(hash=\"f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.get(hash=\"f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.api_keys.get_current_key_metadata()\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 66, + "line_count": 310 + }, + "summary": "**APIKeys**\nSections: Overview, Available Operations, list, Example Usage, Parameters\n(*api_keys*)\n(66 words, 6 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 11, + "code_blocks": 6, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/chat/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 44914, + "title": "Chat", + "structure": { + "title": "Chat", + "headers": [ + { + "level": 1, + "text": "Chat", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 6 + }, + { + "level": 2, + "text": "send", + "line": 10 + }, + { + "level": 3, + "text": "Example Usage", + "line": 14 + }, + { + "level": 3, + "text": "Parameters", + "line": 46 + }, + { + "level": 3, + "text": "Response", + "line": 84 + }, + { + "level": 3, + "text": "Errors", + "line": 88 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.chat.send(messages=[\n {\n \"role\": \"system\",\n \"content\": \"You are a helpful assistant.\",\n },\n {\n \"role\": \"user\",\n \"content\": \"What is the capital of France?\",\n },\n ], stream=False, temperature=0.7, top_p=1)\n\n with res as" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 15, + "line_count": 105 + }, + "summary": "**Chat**\nSections: Overview, Available Operations, send, Example Usage, Parameters\n(*chat*)\n(15 words, 1 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 6, + "code_blocks": 1, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/credits/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 11518, + "title": "Credits", + "structure": { + "title": "Credits", + "headers": [ + { + "level": 1, + "text": "Credits", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "get_credits", + "line": 13 + }, + { + "level": 3, + "text": "Example Usage", + "line": 17 + }, + { + "level": 3, + "text": "Parameters", + "line": 38 + }, + { + "level": 3, + "text": "Response", + "line": 46 + }, + { + "level": 3, + "text": "Errors", + "line": 50 + }, + { + "level": 2, + "text": "create_coinbase_charge", + "line": 59 + }, + { + "level": 3, + "text": "Example Usage", + "line": 63 + }, + { + "level": 3, + "text": "Parameters", + "line": 85 + }, + { + "level": 3, + "text": "Response", + "line": 97 + }, + { + "level": 3, + "text": "Errors", + "line": 101 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.credits.get_credits()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter, operations\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n) as open_router:\n\n res = open_router.credits.create_coinbase_charge(security=operations.CreateCoinbaseChargeSecurity(\n bearer=os.getenv(\"OPENROUTER_BEARER\", \"\"),\n ), amount=100, sender=\"0x1234567890123456789012345678901234567890\", chain_id=1)\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 26, + "line_count": 109 + }, + "summary": "**Credits**\nSections: Overview, Available Operations, get_credits, Example Usage, Parameters\n(*credits*)\n(26 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 5, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/embeddings/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 13770, + "title": "Embeddings", + "structure": { + "title": "Embeddings", + "headers": [ + { + "level": 1, + "text": "Embeddings", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "generate", + "line": 13 + }, + { + "level": 3, + "text": "Example Usage", + "line": 17 + }, + { + "level": 3, + "text": "Parameters", + "line": 38 + }, + { + "level": 3, + "text": "Response", + "line": 53 + }, + { + "level": 3, + "text": "Errors", + "line": 57 + }, + { + "level": 2, + "text": "list_models", + "line": 73 + }, + { + "level": 3, + "text": "Example Usage", + "line": 77 + }, + { + "level": 3, + "text": "Parameters", + "line": 98 + }, + { + "level": 3, + "text": "Response", + "line": 106 + }, + { + "level": 3, + "text": "Errors", + "line": 110 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.embeddings.generate(input=\"\", model=\"Taurus\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.embeddings.list_models()\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 26, + "line_count": 116 + }, + "summary": "**Embeddings**\nSections: Overview, Available Operations, generate, Example Usage, Parameters\n(*embeddings*)\n(26 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 3, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/endpoints/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 9636, + "title": "Endpoints", + "structure": { + "title": "Endpoints", + "headers": [ + { + "level": 1, + "text": "Endpoints", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "list", + "line": 13 + }, + { + "level": 3, + "text": "Example Usage", + "line": 17 + }, + { + "level": 3, + "text": "Parameters", + "line": 38 + }, + { + "level": 3, + "text": "Response", + "line": 48 + }, + { + "level": 3, + "text": "Errors", + "line": 52 + }, + { + "level": 2, + "text": "list_zdr_endpoints", + "line": 60 + }, + { + "level": 3, + "text": "Example Usage", + "line": 64 + }, + { + "level": 3, + "text": "Parameters", + "line": 85 + }, + { + "level": 3, + "text": "Response", + "line": 93 + }, + { + "level": 3, + "text": "Errors", + "line": 97 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.endpoints.list(author=\"\", slug=\"\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.endpoints.list_zdr_endpoints()\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 26, + "line_count": 102 + }, + "summary": "**Endpoints**\nSections: Overview, Available Operations, list, Example Usage, Parameters\n(*endpoints*)\n(26 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/generations/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 5738, + "title": "Generations", + "structure": { + "title": "Generations", + "headers": [ + { + "level": 1, + "text": "Generations", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "get_generation", + "line": 12 + }, + { + "level": 3, + "text": "Example Usage", + "line": 16 + }, + { + "level": 3, + "text": "Parameters", + "line": 37 + }, + { + "level": 3, + "text": "Response", + "line": 46 + }, + { + "level": 3, + "text": "Errors", + "line": 50 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.generations.get_generation(id=\"\")\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 16, + "line_count": 62 + }, + "summary": "**Generations**\nSections: Overview, Available Operations, get_generation, Example Usage, Parameters\n(*generations*)\n(16 words, 1 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 1, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/guardrails/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 95983, + "title": "Guardrails", + "structure": { + "title": "Guardrails", + "headers": [ + { + "level": 1, + "text": "Guardrails", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "list", + "line": 24 + }, + { + "level": 3, + "text": "Example Usage", + "line": 28 + }, + { + "level": 3, + "text": "Parameters", + "line": 49 + }, + { + "level": 3, + "text": "Response", + "line": 59 + }, + { + "level": 3, + "text": "Errors", + "line": 63 + }, + { + "level": 2, + "text": "create", + "line": 71 + }, + { + "level": 3, + "text": "Example Usage", + "line": 75 + }, + { + "level": 3, + "text": "Parameters", + "line": 96 + }, + { + "level": 3, + "text": "Response", + "line": 111 + }, + { + "level": 3, + "text": "Errors", + "line": 115 + }, + { + "level": 2, + "text": "get", + "line": 124 + }, + { + "level": 3, + "text": "Example Usage", + "line": 128 + }, + { + "level": 3, + "text": "Parameters", + "line": 149 + }, + { + "level": 3, + "text": "Response", + "line": 158 + }, + { + "level": 3, + "text": "Errors", + "line": 162 + }, + { + "level": 2, + "text": "update", + "line": 171 + }, + { + "level": 3, + "text": "Example Usage", + "line": 175 + }, + { + "level": 3, + "text": "Parameters", + "line": 196 + }, + { + "level": 3, + "text": "Response", + "line": 212 + }, + { + "level": 3, + "text": "Errors", + "line": 216 + }, + { + "level": 2, + "text": "delete", + "line": 226 + }, + { + "level": 3, + "text": "Example Usage", + "line": 230 + }, + { + "level": 3, + "text": "Parameters", + "line": 251 + }, + { + "level": 3, + "text": "Response", + "line": 260 + }, + { + "level": 3, + "text": "Errors", + "line": 264 + }, + { + "level": 2, + "text": "list_key_assignments", + "line": 273 + }, + { + "level": 3, + "text": "Example Usage", + "line": 277 + }, + { + "level": 3, + "text": "Parameters", + "line": 298 + }, + { + "level": 3, + "text": "Response", + "line": 308 + }, + { + "level": 3, + "text": "Errors", + "line": 312 + }, + { + "level": 2, + "text": "list_member_assignments", + "line": 320 + }, + { + "level": 3, + "text": "Example Usage", + "line": 324 + }, + { + "level": 3, + "text": "Parameters", + "line": 345 + }, + { + "level": 3, + "text": "Response", + "line": 355 + }, + { + "level": 3, + "text": "Errors", + "line": 359 + }, + { + "level": 2, + "text": "list_guardrail_key_assignments", + "line": 367 + }, + { + "level": 3, + "text": "Example Usage", + "line": 371 + }, + { + "level": 3, + "text": "Parameters", + "line": 392 + }, + { + "level": 3, + "text": "Response", + "line": 403 + }, + { + "level": 3, + "text": "Errors", + "line": 407 + }, + { + "level": 2, + "text": "bulk_assign_keys", + "line": 416 + }, + { + "level": 3, + "text": "Example Usage", + "line": 420 + }, + { + "level": 3, + "text": "Parameters", + "line": 443 + }, + { + "level": 3, + "text": "Response", + "line": 453 + }, + { + "level": 3, + "text": "Errors", + "line": 457 + }, + { + "level": 2, + "text": "list_guardrail_member_assignments", + "line": 467 + }, + { + "level": 3, + "text": "Example Usage", + "line": 471 + }, + { + "level": 3, + "text": "Parameters", + "line": 492 + }, + { + "level": 3, + "text": "Response", + "line": 503 + }, + { + "level": 3, + "text": "Errors", + "line": 507 + }, + { + "level": 2, + "text": "bulk_assign_members", + "line": 516 + }, + { + "level": 3, + "text": "Example Usage", + "line": 520 + }, + { + "level": 3, + "text": "Parameters", + "line": 544 + }, + { + "level": 3, + "text": "Response", + "line": 554 + }, + { + "level": 3, + "text": "Errors", + "line": 558 + }, + { + "level": 2, + "text": "bulk_unassign_keys", + "line": 568 + }, + { + "level": 3, + "text": "Example Usage", + "line": 572 + }, + { + "level": 3, + "text": "Parameters", + "line": 595 + }, + { + "level": 3, + "text": "Response", + "line": 605 + }, + { + "level": 3, + "text": "Errors", + "line": 609 + }, + { + "level": 2, + "text": "bulk_unassign_members", + "line": 619 + }, + { + "level": 3, + "text": "Example Usage", + "line": 623 + }, + { + "level": 3, + "text": "Parameters", + "line": 647 + }, + { + "level": 3, + "text": "Response", + "line": 657 + }, + { + "level": 3, + "text": "Errors", + "line": 661 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.list()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.create(name=\"My New Guardrail\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.get(id=\"550e8400-e29b-41d4-a716-446655440000\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.update(id=\"550e8400-e29b-41d4-a716-446655440000\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.delete(id=\"550e8400-e29b-41d4-a716-446655440000\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.list_key_assignments()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.list_member_assignments()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.list_guardrail_key_assignments(id=\"550e8400-e29b-41d4-a716-446655440000\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.bulk_assign_keys(id=\"550e8400-e29b-41d4-a716-446655440000\", key_hashes=[\n \"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93\",\n ])\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.list_guardrail_member_assignments(id=\"550e8400-e29b-41d4-a716-446655440000\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.bulk_assign_members(id=\"550e8400-e29b-41d4-a716-446655440000\", member_user_ids=[\n \"user_abc123\",\n \"user_def456\",\n ])\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.bulk_unassign_keys(id=\"550e8400-e29b-41d4-a716-446655440000\", key_hashes=[\n \"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93\",\n ])\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.guardrails.bulk_unassign_members(id=\"550e8400-e29b-41d4-a716-446655440000\", member_user_ids=[\n \"user_abc123\",\n \"user_def456\",\n ])\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 136, + "line_count": 669 + }, + "summary": "**Guardrails**\nSections: Overview, Available Operations, list, Example Usage, Parameters\n(*guardrails*)\n(136 words, 13 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 26, + "code_blocks": 13, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/models/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 15894, + "title": "Models", + "structure": { + "title": "Models", + "headers": [ + { + "level": 1, + "text": "Models", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "count", + "line": 14 + }, + { + "level": 3, + "text": "Example Usage", + "line": 18 + }, + { + "level": 3, + "text": "Parameters", + "line": 39 + }, + { + "level": 3, + "text": "Response", + "line": 47 + }, + { + "level": 3, + "text": "Errors", + "line": 51 + }, + { + "level": 2, + "text": "list", + "line": 58 + }, + { + "level": 3, + "text": "Example Usage", + "line": 62 + }, + { + "level": 3, + "text": "Parameters", + "line": 83 + }, + { + "level": 3, + "text": "Response", + "line": 93 + }, + { + "level": 3, + "text": "Errors", + "line": 97 + }, + { + "level": 2, + "text": "list_for_user", + "line": 105 + }, + { + "level": 3, + "text": "Example Usage", + "line": 109 + }, + { + "level": 3, + "text": "Parameters", + "line": 131 + }, + { + "level": 3, + "text": "Response", + "line": 140 + }, + { + "level": 3, + "text": "Errors", + "line": 144 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.models.count()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.models.list()\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter, operations\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n) as open_router:\n\n res = open_router.models.list_for_user(security=operations.ListModelsUserSecurity(\n bearer=os.getenv(\"OPENROUTER_BEARER\", \"\"),\n ))\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 3, + "word_count": 36, + "line_count": 151 + }, + "summary": "**Models**\nSections: Overview, Available Operations, count, Example Usage, Parameters\n(*models*)\n(36 words, 3 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 4, + "code_blocks": 3, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/oauth/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 17908, + "title": "OAuth", + "structure": { + "title": "OAuth", + "headers": [ + { + "level": 1, + "text": "OAuth", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "exchange_auth_code_for_api_key", + "line": 13 + }, + { + "level": 3, + "text": "Example Usage", + "line": 17 + }, + { + "level": 3, + "text": "Parameters", + "line": 38 + }, + { + "level": 3, + "text": "Response", + "line": 49 + }, + { + "level": 3, + "text": "Errors", + "line": 53 + }, + { + "level": 2, + "text": "create_auth_code", + "line": 62 + }, + { + "level": 3, + "text": "Example Usage", + "line": 66 + }, + { + "level": 3, + "text": "Parameters", + "line": 87 + }, + { + "level": 3, + "text": "Response", + "line": 102 + }, + { + "level": 3, + "text": "Errors", + "line": 106 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.o_auth.exchange_auth_code_for_api_key(code=\"auth_code_abc123def456\")\n\n # Handle response\n print(res)\n" + }, + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.o_auth.create_auth_code(callback_url=\"https://myapp.com/auth/callback\")\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 1, + "word_count": 26, + "line_count": 113 + }, + "summary": "**OAuth**\nSections: Overview, Available Operations, exchange_auth_code_for_api_key, Example Usage, Parameters\n(*o_auth*)\n(26 words, 2 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 2, + "code_blocks": 2, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/providers/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 4113, + "title": "Providers", + "structure": { + "title": "Providers", + "headers": [ + { + "level": 1, + "text": "Providers", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "list", + "line": 12 + }, + { + "level": 3, + "text": "Example Usage", + "line": 16 + }, + { + "level": 3, + "text": "Parameters", + "line": 37 + }, + { + "level": 3, + "text": "Response", + "line": 45 + }, + { + "level": 3, + "text": "Errors", + "line": 49 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.providers.list()\n\n # Handle response\n print(res)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 16, + "line_count": 54 + }, + "summary": "**Providers**\nSections: Overview, Available Operations, list, Example Usage, Parameters\n(*providers*)\n(16 words, 1 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 1, + "code_blocks": 1, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + }, + { + "path": "docs/sdks/responses/README.md", + "filename": "README.md", + "category": "other", + "size_bytes": 60531, + "title": "Responses", + "structure": { + "title": "Responses", + "headers": [ + { + "level": 1, + "text": "Responses", + "line": 1 + }, + { + "level": 2, + "text": "Overview", + "line": 4 + }, + { + "level": 3, + "text": "Available Operations", + "line": 8 + }, + { + "level": 2, + "text": "send", + "line": 12 + }, + { + "level": 3, + "text": "Example Usage", + "line": 16 + }, + { + "level": 3, + "text": "Parameters", + "line": 39 + }, + { + "level": 3, + "text": "Response", + "line": 81 + }, + { + "level": 3, + "text": "Errors", + "line": 85 + } + ], + "code_blocks": [ + { + "language": "python", + "code": "from openrouter import OpenRouter\nimport os\n\n\nwith OpenRouter(\n http_referer=\"\",\n x_title=\"\",\n api_key=os.getenv(\"OPENROUTER_API_KEY\", \"\"),\n) as open_router:\n\n res = open_router.beta.responses.send(service_tier=\"auto\", stream=False)\n\n with res as event_stream:\n for event in event_stream:\n # handle event\n print(event, flush=True)\n" + } + ], + "tables": 0, + "images": 0, + "links": 0, + "word_count": 16, + "line_count": 102 + }, + "summary": "**Responses**\nSections: Overview, Available Operations, send, Example Usage, Parameters\n(*beta.responses*)\n(16 words, 1 code blocks)", + "content": null, + "_enhanced": true, + "parsed_data": { + "tables": 0, + "cross_references": 6, + "code_blocks": 1, + "images": 0, + "quality_scores": { + "avg_code_quality": 10.0 + } + } + } + ] +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/extraction_summary.json b/.github/skills/openrouter-python-sdk/references/documentation/extraction_summary.json new file mode 100644 index 000000000..d69a3ba8d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/extraction_summary.json @@ -0,0 +1,10 @@ +{ + "enhanced_files": 684, + "total_files": 684, + "extraction_stats": { + "tables": 0, + "cross_references": 354, + "code_blocks": 329 + }, + "parser_version": "unified_v1.0.0" +} \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/README.md b/.github/skills/openrouter-python-sdk/references/documentation/other/README.md new file mode 100644 index 000000000..0a725dfc4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/README.md @@ -0,0 +1,102 @@ +# Responses +(*beta.responses*) + +## Overview + +beta.responses endpoints + +### Available Operations + +* [send](#send) - Create a response + +## send + +Creates a streaming or non-streaming response using OpenResponses API format + +### Example Usage + + +```python +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.beta.responses.send(service_tier="auto", stream=False) + + with res as event_stream: + for event in event_stream: + # handle event + print(event, flush=True) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `input` | [Optional[components.OpenResponsesInput]](../../components/openresponsesinput.md) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
{
"role": "user",
"content": "What is the weather today?"
}
] | +| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | {
"user_id": "123",
"session_id": "abc-def-ghi"
} | +| `tools` | List[[components.OpenResponsesRequestToolUnion](../../components/openresponsesrequesttoolunion.md)] | :heavy_minus_sign: | N/A | | +| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion.md) | :heavy_minus_sign: | N/A | | +| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `models` | List[*str*] | :heavy_minus_sign: | N/A | | +| `text` | [Optional[components.OpenResponsesResponseText]](../../components/openresponsesresponsetext.md) | :heavy_minus_sign: | Text output configuration including format and verbosity | {
"format": {
"type": "text"
},
"verbosity": "medium"
} | +| `reasoning` | [OptionalNullable[components.OpenResponsesReasoningConfig]](../../components/openresponsesreasoningconfig.md) | :heavy_minus_sign: | Configuration for reasoning mode in the response | {
"summary": "auto",
"enabled": true
} | +| `max_output_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | +| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | +| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_k` | *Optional[float]* | :heavy_minus_sign: | N/A | | +| `image_config` | Dict[str, [components.OpenResponsesRequestImageConfig](../../components/openresponsesrequestimageconfig.md)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. | {
"aspect_ratio": "16:9"
} | +| `modalities` | List[[components.ResponsesOutputModality](../../components/responsesoutputmodality.md)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] | +| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `previous_response_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `prompt` | [OptionalNullable[components.OpenAIResponsesPrompt]](../../components/openairesponsesprompt.md) | :heavy_minus_sign: | N/A | | +| `include` | List[[components.OpenAIResponsesIncludable](../../components/openairesponsesincludable.md)] | :heavy_minus_sign: | N/A | | +| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `service_tier` | [Optional[components.ServiceTier]](../../components/servicetier.md) | :heavy_minus_sign: | N/A | | +| `truncation` | [OptionalNullable[components.Truncation]](../../components/truncation.md) | :heavy_minus_sign: | N/A | auto | +| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | | +| `provider` | [OptionalNullable[components.OpenResponsesRequestProvider]](../../components/openresponsesrequestprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | | +| `plugins` | List[[components.OpenResponsesRequestPluginUnion](../../components/openresponsesrequestpluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. | | +| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. | | +| `trace` | [Optional[components.OpenResponsesRequestTrace]](../../components/openresponsesrequesttrace.md) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[operations.CreateResponsesResponse](../../operations/createresponsesresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | +| errors.BadRequestResponseError | 400 | application/json | +| errors.UnauthorizedResponseError | 401 | application/json | +| errors.PaymentRequiredResponseError | 402 | application/json | +| errors.NotFoundResponseError | 404 | application/json | +| errors.RequestTimeoutResponseError | 408 | application/json | +| errors.PayloadTooLargeResponseError | 413 | application/json | +| errors.UnprocessableEntityResponseError | 422 | application/json | +| errors.TooManyRequestsResponseError | 429 | application/json | +| errors.InternalServerResponseError | 500 | application/json | +| errors.BadGatewayResponseError | 502 | application/json | +| errors.ServiceUnavailableResponseError | 503 | application/json | +| errors.EdgeNetworkTimeoutResponseError | 524 | application/json | +| errors.ProviderOverloadedResponseError | 529 | application/json | +| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/activityitem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/activityitem.md new file mode 100644 index 000000000..570bc5289 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/activityitem.md @@ -0,0 +1,18 @@ +# ActivityItem + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `date_` | *str* | :heavy_check_mark: | Date of the activity (YYYY-MM-DD format) | 2025-08-24 | +| `model` | *str* | :heavy_check_mark: | Model slug (e.g., "openai/gpt-4.1") | openai/gpt-4.1 | +| `model_permaslug` | *str* | :heavy_check_mark: | Model permaslug (e.g., "openai/gpt-4.1-2025-04-14") | openai/gpt-4.1-2025-04-14 | +| `endpoint_id` | *str* | :heavy_check_mark: | Unique identifier for the endpoint | 550e8400-e29b-41d4-a716-446655440000 | +| `provider_name` | *str* | :heavy_check_mark: | Name of the provider serving this endpoint | OpenAI | +| `usage` | *float* | :heavy_check_mark: | Total cost in USD (OpenRouter credits spent) | 0.015 | +| `byok_usage_inference` | *float* | :heavy_check_mark: | BYOK inference cost in USD (external credits spent) | 0.012 | +| `requests` | *float* | :heavy_check_mark: | Number of requests made | 5 | +| `prompt_tokens` | *float* | :heavy_check_mark: | Total prompt tokens used | 50 | +| `completion_tokens` | *float* | :heavy_check_mark: | Total completion tokens generated | 125 | +| `reasoning_tokens` | *float* | :heavy_check_mark: | Total reasoning tokens used | 25 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/apitype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/apitype.md new file mode 100644 index 000000000..6cc34e4e4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/apitype.md @@ -0,0 +1,11 @@ +# APIType + +Type of API used for the generation + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `COMPLETIONS` | completions | +| `EMBEDDINGS` | embeddings | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/architecture.md b/.github/skills/openrouter-python-sdk/references/documentation/other/architecture.md new file mode 100644 index 000000000..f646f1560 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/architecture.md @@ -0,0 +1,14 @@ +# Architecture + +Model architecture information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `tokenizer` | [Nullable[components.Tokenizer]](../components/tokenizer.md) | :heavy_check_mark: | N/A | GPT | +| `instruct_type` | [Nullable[components.InstructType]](../components/instructtype.md) | :heavy_check_mark: | Instruction format type | | +| `modality` | *Nullable[str]* | :heavy_check_mark: | Primary modality of the model | text | +| `input_modalities` | List[[components.InputModality](../components/inputmodality.md)] | :heavy_check_mark: | Supported input modalities | | +| `output_modalities` | List[[components.OutputModality](../components/outputmodality.md)] | :heavy_check_mark: | Supported output modalities | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessage.md new file mode 100644 index 000000000..49cee5cee --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessage.md @@ -0,0 +1,17 @@ +# AssistantMessage + +Assistant message for requests and responses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `role` | [components.AssistantMessageRole](../components/assistantmessagerole.md) | :heavy_check_mark: | N/A | | +| `content` | [OptionalNullable[components.AssistantMessageContent]](../components/assistantmessagecontent.md) | :heavy_minus_sign: | Assistant message content | | +| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the assistant | | +| `tool_calls` | List[[components.ChatMessageToolCall](../components/chatmessagetoolcall.md)] | :heavy_minus_sign: | Tool calls made by the assistant | | +| `refusal` | *OptionalNullable[str]* | :heavy_minus_sign: | Refusal message if content was refused | | +| `reasoning` | *OptionalNullable[str]* | :heavy_minus_sign: | Reasoning output | | +| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion.md)] | :heavy_minus_sign: | Reasoning details for extended thinking models | | +| `images` | List[[components.AssistantMessageImages](../components/assistantmessageimages.md)] | :heavy_minus_sign: | Generated images from image generation models | [
{
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgo..."
}
}
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagecontent.md new file mode 100644 index 000000000..643e44e6e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagecontent.md @@ -0,0 +1,25 @@ +# AssistantMessageContent + +Assistant message content + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.ChatMessageContentItem]` + +```python +value: List[components.ChatMessageContentItem] = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimages.md b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimages.md new file mode 100644 index 000000000..aae33ff0b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimages.md @@ -0,0 +1,8 @@ +# AssistantMessageImages + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `image_url` | [components.AssistantMessageImagesImageURL](../components/assistantmessageimagesimageurl.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimagesimageurl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimagesimageurl.md new file mode 100644 index 000000000..7826122a2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessageimagesimageurl.md @@ -0,0 +1,8 @@ +# AssistantMessageImagesImageURL + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `url` | *str* | :heavy_check_mark: | URL or base64-encoded data of the generated image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagerole.md new file mode 100644 index 000000000..658229e77 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/assistantmessagerole.md @@ -0,0 +1,8 @@ +# AssistantMessageRole + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerror.md new file mode 100644 index 000000000..54c51b9dd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerror.md @@ -0,0 +1,11 @@ +# BadGatewayResponseError + +Bad Gateway - Provider/upstream API failure + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `error` | [components.BadGatewayResponseErrorData](../components/badgatewayresponseerrordata.md) | :heavy_check_mark: | Error data for BadGatewayResponse | {
"code": 502,
"message": "Provider returned error"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerrordata.md new file mode 100644 index 000000000..9de5a8934 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/badgatewayresponseerrordata.md @@ -0,0 +1,12 @@ +# BadGatewayResponseErrorData + +Error data for BadGatewayResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerror.md new file mode 100644 index 000000000..b7ca5ac01 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerror.md @@ -0,0 +1,11 @@ +# BadRequestResponseError + +Bad Request - Invalid request parameters or malformed input + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `error` | [components.BadRequestResponseErrorData](../components/badrequestresponseerrordata.md) | :heavy_check_mark: | Error data for BadRequestResponse | {
"code": 400,
"message": "Invalid request parameters"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerrordata.md new file mode 100644 index 000000000..c36a56e67 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/badrequestresponseerrordata.md @@ -0,0 +1,12 @@ +# BadRequestResponseErrorData + +Error data for BadRequestResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailglobals.md new file mode 100644 index 000000000..e54eb49a0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailglobals.md @@ -0,0 +1,9 @@ +# BulkAssignKeysToGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequest.md new file mode 100644 index 000000000..61e77dd12 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequest.md @@ -0,0 +1,11 @@ +# BulkAssignKeysToGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `request_body` | [operations.BulkAssignKeysToGuardrailRequestBody](../operations/bulkassignkeystoguardrailrequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequestbody.md new file mode 100644 index 000000000..38b45b39e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailrequestbody.md @@ -0,0 +1,8 @@ +# BulkAssignKeysToGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `key_hashes` | List[*str*] | :heavy_check_mark: | Array of API key hashes to assign to the guardrail | [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailresponse.md new file mode 100644 index 000000000..11f3e6936 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignkeystoguardrailresponse.md @@ -0,0 +1,10 @@ +# BulkAssignKeysToGuardrailResponse + +Assignment result + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `assigned_count` | *float* | :heavy_check_mark: | Number of keys successfully assigned | 3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailglobals.md new file mode 100644 index 000000000..01949804e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailglobals.md @@ -0,0 +1,9 @@ +# BulkAssignMembersToGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequest.md new file mode 100644 index 000000000..25ff16530 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequest.md @@ -0,0 +1,11 @@ +# BulkAssignMembersToGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `request_body` | [operations.BulkAssignMembersToGuardrailRequestBody](../operations/bulkassignmemberstoguardrailrequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequestbody.md new file mode 100644 index 000000000..505532ff0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailrequestbody.md @@ -0,0 +1,8 @@ +# BulkAssignMembersToGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `member_user_ids` | List[*str*] | :heavy_check_mark: | Array of member user IDs to assign to the guardrail | [
"user_abc123",
"user_def456"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailresponse.md new file mode 100644 index 000000000..402d357f1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkassignmemberstoguardrailresponse.md @@ -0,0 +1,10 @@ +# BulkAssignMembersToGuardrailResponse + +Assignment result + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `assigned_count` | *float* | :heavy_check_mark: | Number of members successfully assigned | 2 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailglobals.md new file mode 100644 index 000000000..7241f7423 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailglobals.md @@ -0,0 +1,9 @@ +# BulkUnassignKeysFromGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequest.md new file mode 100644 index 000000000..07aa84fbb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequest.md @@ -0,0 +1,11 @@ +# BulkUnassignKeysFromGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `request_body` | [operations.BulkUnassignKeysFromGuardrailRequestBody](../operations/bulkunassignkeysfromguardrailrequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequestbody.md new file mode 100644 index 000000000..5f4b2bd1f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailrequestbody.md @@ -0,0 +1,8 @@ +# BulkUnassignKeysFromGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `key_hashes` | List[*str*] | :heavy_check_mark: | Array of API key hashes to unassign from the guardrail | [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailresponse.md new file mode 100644 index 000000000..f789d2ae3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignkeysfromguardrailresponse.md @@ -0,0 +1,10 @@ +# BulkUnassignKeysFromGuardrailResponse + +Unassignment result + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `unassigned_count` | *float* | :heavy_check_mark: | Number of keys successfully unassigned | 3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailglobals.md new file mode 100644 index 000000000..57ed77655 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailglobals.md @@ -0,0 +1,9 @@ +# BulkUnassignMembersFromGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequest.md new file mode 100644 index 000000000..f85e43ed7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequest.md @@ -0,0 +1,11 @@ +# BulkUnassignMembersFromGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `request_body` | [operations.BulkUnassignMembersFromGuardrailRequestBody](../operations/bulkunassignmembersfromguardrailrequestbody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequestbody.md new file mode 100644 index 000000000..76855da93 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailrequestbody.md @@ -0,0 +1,8 @@ +# BulkUnassignMembersFromGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `member_user_ids` | List[*str*] | :heavy_check_mark: | Array of member user IDs to unassign from the guardrail | [
"user_abc123",
"user_def456"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailresponse.md new file mode 100644 index 000000000..76e85b285 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/bulkunassignmembersfromguardrailresponse.md @@ -0,0 +1,10 @@ +# BulkUnassignMembersFromGuardrailResponse + +Unassignment result + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `unassigned_count` | *float* | :heavy_check_mark: | Number of members successfully unassigned | 2 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/by.md b/.github/skills/openrouter-python-sdk/references/documentation/other/by.md new file mode 100644 index 000000000..87730c5a5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/by.md @@ -0,0 +1,12 @@ +# By + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/calldata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/calldata.md new file mode 100644 index 000000000..de7a031a6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/calldata.md @@ -0,0 +1,17 @@ +# CallData + + +## Fields + +| Field | Type | Required | Description | +| -------------------- | -------------------- | -------------------- | -------------------- | +| `deadline` | *str* | :heavy_check_mark: | N/A | +| `fee_amount` | *str* | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | N/A | +| `operator` | *str* | :heavy_check_mark: | N/A | +| `prefix` | *str* | :heavy_check_mark: | N/A | +| `recipient` | *str* | :heavy_check_mark: | N/A | +| `recipient_amount` | *str* | :heavy_check_mark: | N/A | +| `recipient_currency` | *str* | :heavy_check_mark: | N/A | +| `refund_destination` | *str* | :heavy_check_mark: | N/A | +| `signature` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/category.md b/.github/skills/openrouter-python-sdk/references/documentation/other/category.md new file mode 100644 index 000000000..f0fa9d7be --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/category.md @@ -0,0 +1,21 @@ +# Category + +Filter models by use case category + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `PROGRAMMING` | programming | +| `ROLEPLAY` | roleplay | +| `MARKETING` | marketing | +| `MARKETING_SEO` | marketing/seo | +| `TECHNOLOGY` | technology | +| `SCIENCE` | science | +| `TRANSLATION` | translation | +| `LEGAL` | legal | +| `FINANCE` | finance | +| `HEALTH` | health | +| `TRIVIA` | trivia | +| `ACADEMIA` | academia | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chainid.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chainid.md new file mode 100644 index 000000000..11579fed5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chainid.md @@ -0,0 +1,10 @@ +# ChainID + + +## Values + +| Name | Value | +| --------------------------------------------- | --------------------------------------------- | +| `ONE` | 1 | +| `ONE_HUNDRED_AND_THIRTY_SEVEN` | 137 | +| `EIGHT_THOUSAND_FOUR_HUNDRED_AND_FIFTY_THREE` | 8453 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatcompletionfinishreason.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatcompletionfinishreason.md new file mode 100644 index 000000000..cb9e72c07 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatcompletionfinishreason.md @@ -0,0 +1,12 @@ +# ChatCompletionFinishReason + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `TOOL_CALLS` | tool_calls | +| `STOP` | stop | +| `LENGTH` | length | +| `CONTENT_FILTER` | content_filter | +| `ERROR` | error | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparams.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparams.md new file mode 100644 index 000000000..871f7ac66 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparams.md @@ -0,0 +1,39 @@ +# ChatGenerationParams + +Chat completion request parameters + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `provider` | [OptionalNullable[components.ChatGenerationParamsProvider]](../components/chatgenerationparamsprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | | +| `plugins` | List[[components.ChatGenerationParamsPluginUnion](../components/chatgenerationparamspluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | Unique user identifier | user-123 | +| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. | | +| `trace` | [Optional[components.ChatGenerationParamsTrace]](../components/chatgenerationparamstrace.md) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | | +| `messages` | List[[components.Message](../components/message.md)] | :heavy_check_mark: | List of messages for the conversation | [
{
"role": "user",
"content": "Hello!"
}
] | +| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | openai/gpt-4 | +| `models` | List[*str*] | :heavy_minus_sign: | Models to use for completion | [
"openai/gpt-4",
"openai/gpt-4o"
] | +| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | 0 | +| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | {
"50256": -100
} | +| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | false | +| `top_logprobs` | *OptionalNullable[float]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | 5 | +| `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens in completion | 100 | +| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens) | 100 | +| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | {
"user_id": "user-123",
"session_id": "session-456"
} | +| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | 0 | +| `reasoning` | [Optional[components.Reasoning]](../components/reasoning.md) | :heavy_minus_sign: | Configuration options for reasoning models | {
"effort": "medium",
"summary": "concise"
} | +| `response_format` | [Optional[components.ResponseFormat]](../components/responseformat.md) | :heavy_minus_sign: | Response format configuration | {
"type": "json_object"
} | +| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | 42 | +| `stop` | [OptionalNullable[components.Stop]](../components/stop.md) | :heavy_minus_sign: | Stop sequences (up to 4) | [
""
] | +| `stream` | *Optional[bool]* | :heavy_minus_sign: | Enable streaming response | false | +| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../components/chatstreamoptions.md) | :heavy_minus_sign: | Streaming configuration options | {
"include_usage": true
} | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | 0.7 | +| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `tool_choice` | [Optional[components.ToolChoiceOption]](../components/toolchoiceoption.md) | :heavy_minus_sign: | Tool choice configuration | auto | +| `tools` | List[[components.ToolDefinitionJSON](../components/tooldefinitionjson.md)] | :heavy_minus_sign: | Available tools for function calling | [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get weather"
}
}
] | +| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | 1 | +| `debug` | [Optional[components.DebugOptions]](../components/debugoptions.md) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | {
"echo_upstream_body": true
} | +| `image_config` | Dict[str, [components.ChatGenerationParamsImageConfig](../components/chatgenerationparamsimageconfig.md)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | {
"aspect_ratio": "16:9"
} | +| `modalities` | List[[components.Modality](../components/modality.md)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsby.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsby.md new file mode 100644 index 000000000..6952f176a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsby.md @@ -0,0 +1,12 @@ +# ChatGenerationParamsBy + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsengine.md new file mode 100644 index 000000000..48498f781 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsengine.md @@ -0,0 +1,9 @@ +# ChatGenerationParamsEngine + + +## Values + +| Name | Value | +| -------- | -------- | +| `NATIVE` | native | +| `EXA` | exa | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidautorouter.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidautorouter.md new file mode 100644 index 000000000..d5616f3bc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidautorouter.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsIDAutoRouter + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `AUTO_ROUTER` | auto-router | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidfileparser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidfileparser.md new file mode 100644 index 000000000..432efba20 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidfileparser.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsIDFileParser + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `FILE_PARSER` | file-parser | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidmoderation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidmoderation.md new file mode 100644 index 000000000..60e32d92a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidmoderation.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsIDModeration + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `MODERATION` | moderation | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidresponsehealing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidresponsehealing.md new file mode 100644 index 000000000..090054ca3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidresponsehealing.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsIDResponseHealing + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `RESPONSE_HEALING` | response-healing | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidweb.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidweb.md new file mode 100644 index 000000000..378124775 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsidweb.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsIDWeb + + +## Values + +| Name | Value | +| ----- | ----- | +| `WEB` | web | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsignore.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsignore.md new file mode 100644 index 000000000..9bc172c15 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsignore.md @@ -0,0 +1,17 @@ +# ChatGenerationParamsIgnore + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsimageconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsimageconfig.md new file mode 100644 index 000000000..2e011da23 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsimageconfig.md @@ -0,0 +1,23 @@ +# ChatGenerationParamsImageConfig + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `float` + +```python +value: float = /* values here */ +``` + +### `List[Nullable[Any]]` + +```python +value: List[Nullable[Any]] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsmaxprice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsmaxprice.md new file mode 100644 index 000000000..ee97c1dd0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsmaxprice.md @@ -0,0 +1,14 @@ +# ChatGenerationParamsMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `prompt` | *Optional[str]* | :heavy_minus_sign: | Price per million prompt tokens | 1000 | +| `completion` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsonly.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsonly.md new file mode 100644 index 000000000..f83c12d9f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsonly.md @@ -0,0 +1,17 @@ +# ChatGenerationParamsOnly + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsorder.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsorder.md new file mode 100644 index 000000000..c6c1a918d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsorder.md @@ -0,0 +1,17 @@ +# ChatGenerationParamsOrder + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspartition.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspartition.md new file mode 100644 index 000000000..3897f82e4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspartition.md @@ -0,0 +1,11 @@ +# ChatGenerationParamsPartition + +Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. + + +## Values + +| Name | Value | +| ------- | ------- | +| `MODEL` | model | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdf.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdf.md new file mode 100644 index 000000000..c043ef985 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdf.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsPdf + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `engine` | [Optional[components.ChatGenerationParamsPdfEngine]](../components/chatgenerationparamspdfengine.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdfengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdfengine.md new file mode 100644 index 000000000..1aff3d957 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspdfengine.md @@ -0,0 +1,10 @@ +# ChatGenerationParamsPdfEngine + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MISTRAL_OCR` | mistral-ocr | +| `PDF_TEXT` | pdf-text | +| `NATIVE` | native | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginautorouter.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginautorouter.md new file mode 100644 index 000000000..d9f2cf00a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginautorouter.md @@ -0,0 +1,10 @@ +# ChatGenerationParamsPluginAutoRouter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | [components.ChatGenerationParamsIDAutoRouter](../components/chatgenerationparamsidautorouter.md) | :heavy_check_mark: | N/A | | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the auto-router plugin for this request. Defaults to true. | | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., "anthropic/*" matches all Anthropic models). When not specified, uses the default supported models list. | [
"anthropic/*",
"openai/gpt-4o",
"google/*"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginfileparser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginfileparser.md new file mode 100644 index 000000000..41555fc0e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginfileparser.md @@ -0,0 +1,10 @@ +# ChatGenerationParamsPluginFileParser + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | [components.ChatGenerationParamsIDFileParser](../components/chatgenerationparamsidfileparser.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the file-parser plugin for this request. Defaults to true. | +| `pdf` | [Optional[components.PDFParserOptions]](../components/pdfparseroptions.md) | :heavy_minus_sign: | Options for PDF parsing. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginmoderation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginmoderation.md new file mode 100644 index 000000000..0d697d9f0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginmoderation.md @@ -0,0 +1,8 @@ +# ChatGenerationParamsPluginModeration + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | [components.ChatGenerationParamsIDModeration](../components/chatgenerationparamsidmoderation.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginresponsehealing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginresponsehealing.md new file mode 100644 index 000000000..2d3f32c4f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginresponsehealing.md @@ -0,0 +1,9 @@ +# ChatGenerationParamsPluginResponseHealing + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `id` | [components.ChatGenerationParamsIDResponseHealing](../components/chatgenerationparamsidresponsehealing.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the response-healing plugin for this request. Defaults to true. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginunion.md new file mode 100644 index 000000000..5457d7660 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginunion.md @@ -0,0 +1,35 @@ +# ChatGenerationParamsPluginUnion + + +## Supported Types + +### `components.ChatGenerationParamsPluginAutoRouter` + +```python +value: components.ChatGenerationParamsPluginAutoRouter = /* values here */ +``` + +### `components.ChatGenerationParamsPluginModeration` + +```python +value: components.ChatGenerationParamsPluginModeration = /* values here */ +``` + +### `components.ChatGenerationParamsPluginWeb` + +```python +value: components.ChatGenerationParamsPluginWeb = /* values here */ +``` + +### `components.ChatGenerationParamsPluginFileParser` + +```python +value: components.ChatGenerationParamsPluginFileParser = /* values here */ +``` + +### `components.ChatGenerationParamsPluginResponseHealing` + +```python +value: components.ChatGenerationParamsPluginResponseHealing = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginweb.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginweb.md new file mode 100644 index 000000000..e8c97d02d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamspluginweb.md @@ -0,0 +1,12 @@ +# ChatGenerationParamsPluginWeb + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | [components.ChatGenerationParamsIDWeb](../components/chatgenerationparamsidweb.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the web-search plugin for this request. Defaults to true. | +| `max_results` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `search_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `engine` | [Optional[components.WebSearchEngine]](../components/websearchengine.md) | :heavy_minus_sign: | The search engine to use for web search. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovider.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovider.md new file mode 100644 index 000000000..bbb47db51 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovider.md @@ -0,0 +1,22 @@ +# ChatGenerationParamsProvider + +When multiple model providers are available, optionally indicate your routing preference. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| | +| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. | | +| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection.md) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it

- deny: use only providers which do not collect user data. | allow | +| `zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used. | true | +| `enforce_distillable_text` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used. | true | +| `order` | List[[components.ChatGenerationParamsOrder](../components/chatgenerationparamsorder.md)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | | +| `only` | List[[components.ChatGenerationParamsOnly](../components/chatgenerationparamsonly.md)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | | +| `ignore` | List[[components.ChatGenerationParamsIgnore](../components/chatgenerationparamsignore.md)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | | +| `quantizations` | List[[components.Quantization](../components/quantization.md)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | | +| `sort` | [OptionalNullable[components.ChatGenerationParamsSortUnion]](../components/chatgenerationparamssortunion.md) | :heavy_minus_sign: | N/A | price | +| `max_price` | [Optional[components.ChatGenerationParamsMaxPrice]](../components/chatgenerationparamsmaxprice.md) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | | +| `preferred_min_throughput` | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput.md) | :heavy_minus_sign: | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100 | +| `preferred_max_latency` | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency.md) | :heavy_minus_sign: | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 5 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersort.md new file mode 100644 index 000000000..dad38c3af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersort.md @@ -0,0 +1,12 @@ +# ChatGenerationParamsProviderSort + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfig.md new file mode 100644 index 000000000..e49cfd119 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfig.md @@ -0,0 +1,9 @@ +# ChatGenerationParamsProviderSortConfig + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `by` | [OptionalNullable[components.ChatGenerationParamsBy]](../components/chatgenerationparamsby.md) | :heavy_minus_sign: | The provider sorting strategy (price, throughput, latency) | price | +| `partition` | [OptionalNullable[components.ChatGenerationParamsPartition]](../components/chatgenerationparamspartition.md) | :heavy_minus_sign: | Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. | model | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigenum.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigenum.md new file mode 100644 index 000000000..8117c95b8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigenum.md @@ -0,0 +1,10 @@ +# ChatGenerationParamsProviderSortConfigEnum + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigunion.md new file mode 100644 index 000000000..1fc42c966 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsprovidersortconfigunion.md @@ -0,0 +1,17 @@ +# ChatGenerationParamsProviderSortConfigUnion + + +## Supported Types + +### `components.ChatGenerationParamsProviderSortConfig` + +```python +value: components.ChatGenerationParamsProviderSortConfig = /* values here */ +``` + +### `components.ChatGenerationParamsProviderSortConfigEnum` + +```python +value: components.ChatGenerationParamsProviderSortConfigEnum = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsroute.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsroute.md new file mode 100644 index 000000000..bc698c51d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamsroute.md @@ -0,0 +1,9 @@ +# ChatGenerationParamsRoute + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FALLBACK` | fallback | +| `SORT` | sort | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortenum.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortenum.md new file mode 100644 index 000000000..eac8dc389 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortenum.md @@ -0,0 +1,10 @@ +# ChatGenerationParamsSortEnum + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortunion.md new file mode 100644 index 000000000..7c35fb7d6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamssortunion.md @@ -0,0 +1,25 @@ +# ChatGenerationParamsSortUnion + +The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. + + +## Supported Types + +### `components.ChatGenerationParamsProviderSort` + +```python +value: components.ChatGenerationParamsProviderSort = /* values here */ +``` + +### `components.ChatGenerationParamsProviderSortConfigUnion` + +```python +value: components.ChatGenerationParamsProviderSortConfigUnion = /* values here */ +``` + +### `components.ChatGenerationParamsSortEnum` + +```python +value: components.ChatGenerationParamsSortEnum = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamstrace.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamstrace.md new file mode 100644 index 000000000..b49a15aa0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationparamstrace.md @@ -0,0 +1,15 @@ +# ChatGenerationParamsTrace + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `trace_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `trace_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `span_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `generation_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `parent_span_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationtokenusage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationtokenusage.md new file mode 100644 index 000000000..6b42d1f65 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatgenerationtokenusage.md @@ -0,0 +1,14 @@ +# ChatGenerationTokenUsage + +Token usage statistics + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `completion_tokens` | *float* | :heavy_check_mark: | Number of tokens in the completion | +| `prompt_tokens` | *float* | :heavy_check_mark: | Number of tokens in the prompt | +| `total_tokens` | *float* | :heavy_check_mark: | Total number of tokens | +| `completion_tokens_details` | [OptionalNullable[components.CompletionTokensDetails]](../components/completiontokensdetails.md) | :heavy_minus_sign: | Detailed completion token usage | +| `prompt_tokens_details` | [OptionalNullable[components.PromptTokensDetails]](../components/prompttokensdetails.md) | :heavy_minus_sign: | Detailed prompt token usage | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem.md new file mode 100644 index 000000000..197da4223 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem.md @@ -0,0 +1,31 @@ +# ChatMessageContentItem + +Content part for chat completion messages + + +## Supported Types + +### `components.ChatMessageContentItemText` + +```python +value: components.ChatMessageContentItemText = /* values here */ +``` + +### `components.ChatMessageContentItemImage` + +```python +value: components.ChatMessageContentItemImage = /* values here */ +``` + +### `components.ChatMessageContentItemAudio` + +```python +value: components.ChatMessageContentItemAudio = /* values here */ +``` + +### `components.ChatMessageContentItem1` + +```python +value: components.ChatMessageContentItem1 = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem1.md new file mode 100644 index 000000000..782be763c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitem1.md @@ -0,0 +1,17 @@ +# ChatMessageContentItem1 + + +## Supported Types + +### `components.ChatMessageContentItemVideoLegacy` + +```python +value: components.ChatMessageContentItemVideoLegacy = /* values here */ +``` + +### `components.ChatMessageContentItemVideo` + +```python +value: components.ChatMessageContentItemVideo = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudio.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudio.md new file mode 100644 index 000000000..4fcc2328d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudio.md @@ -0,0 +1,11 @@ +# ChatMessageContentItemAudio + +Audio input content part. Supported audio formats vary by provider. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.ChatMessageContentItemAudioType](../components/chatmessagecontentitemaudiotype.md) | :heavy_check_mark: | N/A | +| `input_audio` | [components.ChatMessageContentItemAudioInputAudio](../components/chatmessagecontentitemaudioinputaudio.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudioinputaudio.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudioinputaudio.md new file mode 100644 index 000000000..7658571ce --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudioinputaudio.md @@ -0,0 +1,9 @@ +# ChatMessageContentItemAudioInputAudio + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `data` | *str* | :heavy_check_mark: | Base64 encoded audio data | +| `format_` | *str* | :heavy_check_mark: | Audio format (e.g., wav, mp3, flac, m4a, ogg, aiff, aac, pcm16, pcm24). Supported formats vary by provider. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudiotype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudiotype.md new file mode 100644 index 000000000..29dc6ffef --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemaudiotype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemAudioType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_AUDIO` | input_audio | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontrol.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontrol.md new file mode 100644 index 000000000..df820de9c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontrol.md @@ -0,0 +1,11 @@ +# ChatMessageContentItemCacheControl + +Cache control for the content part + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `type` | [components.ChatMessageContentItemCacheControlType](../components/chatmessagecontentitemcachecontroltype.md) | :heavy_check_mark: | N/A | +| `ttl` | [Optional[components.TTL]](../components/ttl.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontroltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontroltype.md new file mode 100644 index 000000000..6e9faa205 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemcachecontroltype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemCacheControlType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `EPHEMERAL` | ephemeral | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimage.md new file mode 100644 index 000000000..023ea5297 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimage.md @@ -0,0 +1,11 @@ +# ChatMessageContentItemImage + +Image content part for vision models + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `type` | [components.ChatMessageContentItemImageType](../components/chatmessagecontentitemimagetype.md) | :heavy_check_mark: | N/A | +| `image_url` | [components.ChatMessageContentItemImageImageURL](../components/chatmessagecontentitemimageimageurl.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagedetail.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagedetail.md new file mode 100644 index 000000000..5862abf84 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagedetail.md @@ -0,0 +1,12 @@ +# ChatMessageContentItemImageDetail + +Image detail level for vision models + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | +| `LOW` | low | +| `HIGH` | high | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimageimageurl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimageimageurl.md new file mode 100644 index 000000000..1d0609e5b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimageimageurl.md @@ -0,0 +1,9 @@ +# ChatMessageContentItemImageImageURL + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `url` | *str* | :heavy_check_mark: | URL of the image (data: URLs supported) | +| `detail` | [Optional[components.ChatMessageContentItemImageDetail]](../components/chatmessagecontentitemimagedetail.md) | :heavy_minus_sign: | Image detail level for vision models | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagetype.md new file mode 100644 index 000000000..23b614bce --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemimagetype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemImageType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `IMAGE_URL` | image_url | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtext.md new file mode 100644 index 000000000..832ff2aa6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtext.md @@ -0,0 +1,12 @@ +# ChatMessageContentItemText + +Text content part + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [components.ChatMessageContentItemTextType](../components/chatmessagecontentitemtexttype.md) | :heavy_check_mark: | N/A | | +| `text` | *str* | :heavy_check_mark: | N/A | | +| `cache_control` | [Optional[components.ChatMessageContentItemCacheControl]](../components/chatmessagecontentitemcachecontrol.md) | :heavy_minus_sign: | Cache control for the content part | {
"type": "ephemeral",
"ttl": "5m"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtexttype.md new file mode 100644 index 000000000..da0a6dd8c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemtexttype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemTextType + + +## Values + +| Name | Value | +| ------ | ------ | +| `TEXT` | text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideo.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideo.md new file mode 100644 index 000000000..ae376afe0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideo.md @@ -0,0 +1,11 @@ +# ChatMessageContentItemVideo + +Video input content part + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `type` | [components.ChatMessageContentItemVideoType](../components/chatmessagecontentitemvideotype.md) | :heavy_check_mark: | N/A | +| `video_url` | [components.VideoInput](../components/videoinput.md) | :heavy_check_mark: | Video input object | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacy.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacy.md new file mode 100644 index 000000000..07dcec102 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacy.md @@ -0,0 +1,13 @@ +# ~~ChatMessageContentItemVideoLegacy~~ + +Video input content part (legacy format - deprecated) + +> :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.ChatMessageContentItemVideoLegacyType](../components/chatmessagecontentitemvideolegacytype.md) | :heavy_check_mark: | N/A | +| `video_url` | [components.VideoInput](../components/videoinput.md) | :heavy_check_mark: | Video input object | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacytype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacytype.md new file mode 100644 index 000000000..1bfffd5ba --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideolegacytype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemVideoLegacyType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_VIDEO` | input_video | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideotype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideotype.md new file mode 100644 index 000000000..c66034242 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagecontentitemvideotype.md @@ -0,0 +1,8 @@ +# ChatMessageContentItemVideoType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `VIDEO_URL` | video_url | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprob.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprob.md new file mode 100644 index 000000000..f797c6aee --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprob.md @@ -0,0 +1,13 @@ +# ChatMessageTokenLogprob + +Token log probability information + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `token` | *str* | :heavy_check_mark: | The token | +| `logprob` | *float* | :heavy_check_mark: | Log probability of the token | +| `bytes_` | List[*float*] | :heavy_check_mark: | UTF-8 bytes of the token | +| `top_logprobs` | List[[components.ChatMessageTokenLogprobTopLogprob](../components/chatmessagetokenlogprobtoplogprob.md)] | :heavy_check_mark: | Top alternative tokens with probabilities | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobs.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobs.md new file mode 100644 index 000000000..0b8961f02 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobs.md @@ -0,0 +1,11 @@ +# ChatMessageTokenLogprobs + +Log probabilities for the completion + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `content` | List[[components.ChatMessageTokenLogprob](../components/chatmessagetokenlogprob.md)] | :heavy_check_mark: | Log probabilities for content tokens | +| `refusal` | List[[components.ChatMessageTokenLogprob](../components/chatmessagetokenlogprob.md)] | :heavy_check_mark: | Log probabilities for refusal tokens | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobtoplogprob.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobtoplogprob.md new file mode 100644 index 000000000..72e54d419 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetokenlogprobtoplogprob.md @@ -0,0 +1,10 @@ +# ChatMessageTokenLogprobTopLogprob + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *str* | :heavy_check_mark: | N/A | +| `logprob` | *float* | :heavy_check_mark: | N/A | +| `bytes_` | List[*float*] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcall.md new file mode 100644 index 000000000..19fcf5453 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcall.md @@ -0,0 +1,12 @@ +# ChatMessageToolCall + +Tool call made by the assistant + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Tool call identifier | +| `type` | [components.ChatMessageToolCallType](../components/chatmessagetoolcalltype.md) | :heavy_check_mark: | N/A | +| `function` | [components.ChatMessageToolCallFunction](../components/chatmessagetoolcallfunction.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcallfunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcallfunction.md new file mode 100644 index 000000000..ef31674a0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcallfunction.md @@ -0,0 +1,9 @@ +# ChatMessageToolCallFunction + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `name` | *str* | :heavy_check_mark: | Function name to call | +| `arguments` | *str* | :heavy_check_mark: | Function arguments as JSON string | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcalltype.md new file mode 100644 index 000000000..881125e93 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatmessagetoolcalltype.md @@ -0,0 +1,8 @@ +# ChatMessageToolCallType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponse.md new file mode 100644 index 000000000..50e596687 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponse.md @@ -0,0 +1,16 @@ +# ChatResponse + +Chat completion response + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique completion identifier | chatcmpl-123 | +| `choices` | List[[components.ChatResponseChoice](../components/chatresponsechoice.md)] | :heavy_check_mark: | List of completion choices | | +| `created` | *float* | :heavy_check_mark: | Unix timestamp of creation | 1677652288 | +| `model` | *str* | :heavy_check_mark: | Model used for completion | openai/gpt-4 | +| `object` | [components.ChatResponseObject](../components/chatresponseobject.md) | :heavy_check_mark: | N/A | | +| `system_fingerprint` | *OptionalNullable[str]* | :heavy_minus_sign: | System fingerprint | fp_44709d6fcb | +| `usage` | [Optional[components.ChatGenerationTokenUsage]](../components/chatgenerationtokenusage.md) | :heavy_minus_sign: | Token usage statistics | {
"completion_tokens": 15,
"prompt_tokens": 10,
"total_tokens": 25,
"completion_tokens_details": {
"reasoning_tokens": 5
},
"prompt_tokens_details": {
"cached_tokens": 2
}
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponsechoice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponsechoice.md new file mode 100644 index 000000000..c9801f237 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponsechoice.md @@ -0,0 +1,13 @@ +# ChatResponseChoice + +Chat completion choice + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `finish_reason` | *Nullable[Any]* | :heavy_check_mark: | N/A | | +| `index` | *float* | :heavy_check_mark: | Choice index | 0 | +| `message` | [components.AssistantMessage](../components/assistantmessage.md) | :heavy_check_mark: | Assistant message for requests and responses | {
"role": "user",
"content": "What is the capital of France?"
} | +| `logprobs` | [OptionalNullable[components.ChatMessageTokenLogprobs]](../components/chatmessagetokenlogprobs.md) | :heavy_minus_sign: | Log probabilities for the completion | {
"content": [
{
"token": " Hello",
"logprob": -0.612345,
"bytes": null,
"top_logprobs": []
}
],
"refusal": null
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponseobject.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponseobject.md new file mode 100644 index 000000000..f2d6e968b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatresponseobject.md @@ -0,0 +1,8 @@ +# ChatResponseObject + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `CHAT_COMPLETION` | chat.completion | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingchoice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingchoice.md new file mode 100644 index 000000000..eacfbcc3a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingchoice.md @@ -0,0 +1,13 @@ +# ChatStreamingChoice + +Streaming completion choice chunk + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `delta` | [components.ChatStreamingMessageChunk](../components/chatstreamingmessagechunk.md) | :heavy_check_mark: | Delta changes in streaming response | {
"role": "assistant",
"content": "Hello"
} | +| `finish_reason` | *Nullable[Any]* | :heavy_check_mark: | N/A | | +| `index` | *float* | :heavy_check_mark: | Choice index | 0 | +| `logprobs` | [OptionalNullable[components.ChatMessageTokenLogprobs]](../components/chatmessagetokenlogprobs.md) | :heavy_minus_sign: | Log probabilities for the completion | {
"content": [
{
"token": " Hello",
"logprob": -0.612345,
"bytes": null,
"top_logprobs": []
}
],
"refusal": null
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunk.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunk.md new file mode 100644 index 000000000..a91123fe1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunk.md @@ -0,0 +1,15 @@ +# ChatStreamingMessageChunk + +Delta changes in streaming response + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `role` | [Optional[components.ChatStreamingMessageChunkRole]](../components/chatstreamingmessagechunkrole.md) | :heavy_minus_sign: | The role of the message author | assistant | +| `content` | *OptionalNullable[str]* | :heavy_minus_sign: | Message content delta | Hello | +| `reasoning` | *OptionalNullable[str]* | :heavy_minus_sign: | Reasoning content delta | I need to | +| `refusal` | *OptionalNullable[str]* | :heavy_minus_sign: | Refusal message delta | | +| `tool_calls` | List[[components.ChatStreamingMessageToolCall](../components/chatstreamingmessagetoolcall.md)] | :heavy_minus_sign: | Tool calls delta | | +| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion.md)] | :heavy_minus_sign: | Reasoning details for extended thinking models | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunkrole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunkrole.md new file mode 100644 index 000000000..20f57d905 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagechunkrole.md @@ -0,0 +1,10 @@ +# ChatStreamingMessageChunkRole + +The role of the message author + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcall.md new file mode 100644 index 000000000..4add46844 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcall.md @@ -0,0 +1,13 @@ +# ChatStreamingMessageToolCall + +Tool call delta for streaming responses + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `index` | *float* | :heavy_check_mark: | Tool call index in the array | 0 | +| `id` | *Optional[str]* | :heavy_minus_sign: | Tool call identifier | call_abc123 | +| `type` | [Optional[components.ChatStreamingMessageToolCallType]](../components/chatstreamingmessagetoolcalltype.md) | :heavy_minus_sign: | Tool call type | function | +| `function` | [Optional[components.ChatStreamingMessageToolCallFunction]](../components/chatstreamingmessagetoolcallfunction.md) | :heavy_minus_sign: | Function call details | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcallfunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcallfunction.md new file mode 100644 index 000000000..3b47ecb94 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcallfunction.md @@ -0,0 +1,11 @@ +# ChatStreamingMessageToolCallFunction + +Function call details + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `name` | *Optional[str]* | :heavy_minus_sign: | Function name | get_weather | +| `arguments` | *Optional[str]* | :heavy_minus_sign: | Function arguments as JSON string | {"location": | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcalltype.md new file mode 100644 index 000000000..0a33b59c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingmessagetoolcalltype.md @@ -0,0 +1,10 @@ +# ChatStreamingMessageToolCallType + +Tool call type + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunk.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunk.md new file mode 100644 index 000000000..1d7647eac --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunk.md @@ -0,0 +1,17 @@ +# ChatStreamingResponseChunk + +Streaming chat completion chunk + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique chunk identifier | chatcmpl-123 | +| `choices` | List[[components.ChatStreamingChoice](../components/chatstreamingchoice.md)] | :heavy_check_mark: | List of streaming chunk choices | | +| `created` | *float* | :heavy_check_mark: | Unix timestamp of creation | 1677652288 | +| `model` | *str* | :heavy_check_mark: | Model used for completion | openai/gpt-4 | +| `object` | [components.ChatStreamingResponseChunkObject](../components/chatstreamingresponsechunkobject.md) | :heavy_check_mark: | N/A | | +| `system_fingerprint` | *OptionalNullable[str]* | :heavy_minus_sign: | System fingerprint | fp_44709d6fcb | +| `error` | [Optional[components.Error]](../components/error.md) | :heavy_minus_sign: | Error information | {
"message": "Rate limit exceeded",
"code": 429
} | +| `usage` | [Optional[components.ChatGenerationTokenUsage]](../components/chatgenerationtokenusage.md) | :heavy_minus_sign: | Token usage statistics | {
"completion_tokens": 15,
"prompt_tokens": 10,
"total_tokens": 25,
"completion_tokens_details": {
"reasoning_tokens": 5
},
"prompt_tokens_details": {
"cached_tokens": 2
}
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunkobject.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunkobject.md new file mode 100644 index 000000000..b596f8616 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamingresponsechunkobject.md @@ -0,0 +1,8 @@ +# ChatStreamingResponseChunkObject + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `CHAT_COMPLETION_CHUNK` | chat.completion.chunk | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamoptions.md b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamoptions.md new file mode 100644 index 000000000..ade029eea --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/chatstreamoptions.md @@ -0,0 +1,10 @@ +# ChatStreamOptions + +Streaming configuration options + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ~~`include_usage`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated: This field has no effect. Full usage details are always included. | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/code.md b/.github/skills/openrouter-python-sdk/references/documentation/other/code.md new file mode 100644 index 000000000..86a855442 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/code.md @@ -0,0 +1,25 @@ +# Code + + +## Values + +| Name | Value | +| -------------------------------- | -------------------------------- | +| `SERVER_ERROR` | server_error | +| `RATE_LIMIT_EXCEEDED` | rate_limit_exceeded | +| `INVALID_PROMPT` | invalid_prompt | +| `VECTOR_STORE_TIMEOUT` | vector_store_timeout | +| `INVALID_IMAGE` | invalid_image | +| `INVALID_IMAGE_FORMAT` | invalid_image_format | +| `INVALID_BASE64_IMAGE` | invalid_base64_image | +| `INVALID_IMAGE_URL` | invalid_image_url | +| `IMAGE_TOO_LARGE` | image_too_large | +| `IMAGE_TOO_SMALL` | image_too_small | +| `IMAGE_PARSE_ERROR` | image_parse_error | +| `IMAGE_CONTENT_POLICY_VIOLATION` | image_content_policy_violation | +| `INVALID_IMAGE_MODE` | invalid_image_mode | +| `IMAGE_FILE_TOO_LARGE` | image_file_too_large | +| `UNSUPPORTED_IMAGE_MEDIA_TYPE` | unsupported_image_media_type | +| `EMPTY_IMAGE_FILE` | empty_image_file | +| `FAILED_TO_DOWNLOAD_IMAGE` | failed_to_download_image | +| `IMAGE_FILE_NOT_FOUND` | image_file_not_found | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/completiontokensdetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/completiontokensdetails.md new file mode 100644 index 000000000..1fa23d635 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/completiontokensdetails.md @@ -0,0 +1,13 @@ +# CompletionTokensDetails + +Detailed completion token usage + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `reasoning_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Tokens used for reasoning | +| `audio_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Tokens used for audio output | +| `accepted_prediction_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Accepted prediction tokens | +| `rejected_prediction_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Rejected prediction tokens | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/content.md b/.github/skills/openrouter-python-sdk/references/documentation/other/content.md new file mode 100644 index 000000000..727997fcf --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/content.md @@ -0,0 +1,17 @@ +# Content + + +## Supported Types + +### `operations.ContentText` + +```python +value: operations.ContentText = /* values here */ +``` + +### `operations.ContentImageURL` + +```python +value: operations.ContentImageURL = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/contentimageurl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/contentimageurl.md new file mode 100644 index 000000000..3a624d568 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/contentimageurl.md @@ -0,0 +1,9 @@ +# ContentImageURL + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `type` | [operations.TypeImageURL](../operations/typeimageurl.md) | :heavy_check_mark: | N/A | +| `image_url` | [operations.ImageURL](../operations/imageurl.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/contenttext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/contenttext.md new file mode 100644 index 000000000..11ffb7a71 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/contenttext.md @@ -0,0 +1,9 @@ +# ContentText + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `type` | [operations.TypeText](../operations/typetext.md) | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/costdetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/costdetails.md new file mode 100644 index 000000000..ada009ced --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/costdetails.md @@ -0,0 +1,10 @@ +# CostDetails + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `upstream_inference_cost` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `upstream_inference_input_cost` | *float* | :heavy_check_mark: | N/A | +| `upstream_inference_output_cost` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodecodechallengemethod.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodecodechallengemethod.md new file mode 100644 index 000000000..cd496b740 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodecodechallengemethod.md @@ -0,0 +1,11 @@ +# CreateAuthKeysCodeCodeChallengeMethod + +The method used to generate the code challenge + + +## Values + +| Name | Value | +| ------- | ------- | +| `S256` | S256 | +| `PLAIN` | plain | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodedata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodedata.md new file mode 100644 index 000000000..81adde90b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodedata.md @@ -0,0 +1,12 @@ +# CreateAuthKeysCodeData + +Auth code data + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The authorization code ID to use in the exchange request | auth_code_xyz789 | +| `app_id` | *float* | :heavy_check_mark: | The application ID associated with this auth code | 12345 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the auth code was created | 2025-08-24T10:30:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodeglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodeglobals.md new file mode 100644 index 000000000..cc084f792 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscodeglobals.md @@ -0,0 +1,9 @@ +# CreateAuthKeysCodeGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequest.md new file mode 100644 index 000000000..2fa48ef63 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequest.md @@ -0,0 +1,10 @@ +# CreateAuthKeysCodeRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `request_body` | [operations.CreateAuthKeysCodeRequestBody](../operations/createauthkeyscoderequestbody.md) | :heavy_check_mark: | N/A | {
"callback_url": "https://myapp.com/auth/callback",
"code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
"code_challenge_method": "S256",
"limit": 100
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequestbody.md new file mode 100644 index 000000000..76ceb7bb2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderequestbody.md @@ -0,0 +1,14 @@ +# CreateAuthKeysCodeRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `callback_url` | *str* | :heavy_check_mark: | The callback URL to redirect to after authorization. Note, only https URLs on ports 443 and 3000 are allowed. | https://myapp.com/auth/callback | +| `code_challenge` | *Optional[str]* | :heavy_minus_sign: | PKCE code challenge for enhanced security | E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM | +| `code_challenge_method` | [Optional[operations.CreateAuthKeysCodeCodeChallengeMethod]](../operations/createauthkeyscodecodechallengemethod.md) | :heavy_minus_sign: | The method used to generate the code challenge | S256 | +| `limit` | *Optional[float]* | :heavy_minus_sign: | Credit limit for the API key to be created | 100 | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional expiration time for the API key to be created | | +| `key_label` | *Optional[str]* | :heavy_minus_sign: | Optional custom label for the API key. Defaults to the app name if not provided. | My Custom Key | +| `usage_limit_type` | [Optional[operations.UsageLimitType]](../operations/usagelimittype.md) | :heavy_minus_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderesponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderesponse.md new file mode 100644 index 000000000..acad71c0e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createauthkeyscoderesponse.md @@ -0,0 +1,10 @@ +# CreateAuthKeysCodeResponse + +Successfully created authorization code + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `data` | [operations.CreateAuthKeysCodeData](../operations/createauthkeyscodedata.md) | :heavy_check_mark: | Auth code data | {
"id": "auth_code_xyz789",
"app_id": 12345,
"created_at": "2025-08-24T10:30:00Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createchargerequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createchargerequest.md new file mode 100644 index 000000000..e789e8f13 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createchargerequest.md @@ -0,0 +1,12 @@ +# CreateChargeRequest + +Create a Coinbase charge for crypto payment + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `amount` | *float* | :heavy_check_mark: | N/A | +| `sender` | *str* | :heavy_check_mark: | N/A | +| `chain_id` | [components.ChainID](../components/chainid.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargedata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargedata.md new file mode 100644 index 000000000..9363cdf69 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargedata.md @@ -0,0 +1,11 @@ +# CreateCoinbaseChargeData + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `created_at` | *str* | :heavy_check_mark: | N/A | +| `expires_at` | *str* | :heavy_check_mark: | N/A | +| `web3_data` | [operations.Web3Data](../operations/web3data.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeglobals.md new file mode 100644 index 000000000..528740384 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeglobals.md @@ -0,0 +1,9 @@ +# CreateCoinbaseChargeGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargerequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargerequest.md new file mode 100644 index 000000000..d90e033fc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargerequest.md @@ -0,0 +1,10 @@ +# CreateCoinbaseChargeRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `create_charge_request` | [components.CreateChargeRequest](../components/createchargerequest.md) | :heavy_check_mark: | N/A | {
"amount": 100,
"sender": "0x1234567890123456789012345678901234567890",
"chain_id": 1
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeresponse.md new file mode 100644 index 000000000..d9d4bd999 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargeresponse.md @@ -0,0 +1,10 @@ +# CreateCoinbaseChargeResponse + +Returns the calldata to fulfill the transaction + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `data` | [operations.CreateCoinbaseChargeData](../operations/createcoinbasechargedata.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargesecurity.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargesecurity.md new file mode 100644 index 000000000..7d58a21f2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createcoinbasechargesecurity.md @@ -0,0 +1,8 @@ +# CreateCoinbaseChargeSecurity + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `bearer` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsdata.md new file mode 100644 index 000000000..297dc692b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsdata.md @@ -0,0 +1,10 @@ +# CreateEmbeddingsData + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `object` | [operations.ObjectEmbedding](../operations/objectembedding.md) | :heavy_check_mark: | N/A | +| `embedding` | [operations.Embedding](../operations/embedding.md) | :heavy_check_mark: | N/A | +| `index` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsglobals.md new file mode 100644 index 000000000..adb19bc94 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsglobals.md @@ -0,0 +1,9 @@ +# CreateEmbeddingsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsprovider.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsprovider.md new file mode 100644 index 000000000..3b7672413 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsprovider.md @@ -0,0 +1,20 @@ +# CreateEmbeddingsProvider + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| | +| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. | | +| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection.md) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it

- deny: use only providers which do not collect user data. | allow | +| `zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used. | true | +| `enforce_distillable_text` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used. | true | +| `order` | List[[operations.Order](../operations/order.md)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | | +| `only` | List[[operations.Only](../operations/only.md)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | | +| `ignore` | List[[operations.Ignore](../operations/ignore.md)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | | +| `quantizations` | List[[components.Quantization](../components/quantization.md)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | | +| `sort` | [OptionalNullable[components.ProviderSort]](../components/providersort.md) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price | +| `max_price` | [Optional[operations.MaxPrice]](../operations/maxprice.md) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | | +| `min_throughput` | *OptionalNullable[float]* | :heavy_minus_sign: | The minimum throughput (in tokens per second) required for this request. Only providers serving the model with at least this throughput will be used. | 100 | +| `max_latency` | *OptionalNullable[float]* | :heavy_minus_sign: | The maximum latency (in seconds) allowed for this request. Only providers serving the model with better than this latency will be used. | 5 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequest.md new file mode 100644 index 000000000..cace1a6db --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequest.md @@ -0,0 +1,10 @@ +# CreateEmbeddingsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| +| `request_body` | [operations.CreateEmbeddingsRequestBody](../operations/createembeddingsrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequestbody.md new file mode 100644 index 000000000..e4229b334 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsrequestbody.md @@ -0,0 +1,14 @@ +# CreateEmbeddingsRequestBody + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `input` | [operations.InputUnion](../operations/inputunion.md) | :heavy_check_mark: | N/A | +| `model` | *str* | :heavy_check_mark: | N/A | +| `encoding_format` | [Optional[operations.EncodingFormat]](../operations/encodingformat.md) | :heavy_minus_sign: | N/A | +| `dimensions` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `user` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `provider` | [Optional[components.ProviderPreferences]](../components/providerpreferences.md) | :heavy_minus_sign: | Provider routing preferences for the request. | +| `input_type` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponse.md new file mode 100644 index 000000000..4c379be00 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponse.md @@ -0,0 +1,17 @@ +# CreateEmbeddingsResponse + + +## Supported Types + +### `operations.CreateEmbeddingsResponseBody` + +```python +value: operations.CreateEmbeddingsResponseBody = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponsebody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponsebody.md new file mode 100644 index 000000000..2252cfd18 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createembeddingsresponsebody.md @@ -0,0 +1,14 @@ +# CreateEmbeddingsResponseBody + +Embedding response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `object` | [operations.Object](../operations/object.md) | :heavy_check_mark: | N/A | +| `data` | List[[operations.CreateEmbeddingsData](../operations/createembeddingsdata.md)] | :heavy_check_mark: | N/A | +| `model` | *str* | :heavy_check_mark: | N/A | +| `usage` | [Optional[operations.Usage]](../operations/usage.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardraildata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardraildata.md new file mode 100644 index 000000000..f98ee897f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardraildata.md @@ -0,0 +1,19 @@ +# CreateGuardrailData + +The created guardrail + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `name` | *str* | :heavy_check_mark: | Name of the guardrail | Production Guardrail | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | Guardrail for production environment | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 100 | +| `reset_interval` | [OptionalNullable[operations.CreateGuardrailResetIntervalResponse]](../operations/createguardrailresetintervalresponse.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"google"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model canonical_slugs (immutable identifiers) | [
"openai/gpt-5.2-20251211",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | false | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the guardrail was created | 2025-08-24T10:30:00Z | +| `updated_at` | *OptionalNullable[str]* | :heavy_minus_sign: | ISO 8601 timestamp of when the guardrail was last updated | 2025-08-24T15:45:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailglobals.md new file mode 100644 index 000000000..b11f112ef --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailglobals.md @@ -0,0 +1,9 @@ +# CreateGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequest.md new file mode 100644 index 000000000..ff71d5e04 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequest.md @@ -0,0 +1,10 @@ +# CreateGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `request_body` | [operations.CreateGuardrailRequestBody](../operations/createguardrailrequestbody.md) | :heavy_check_mark: | N/A | {
"name": "My New Guardrail",
"description": "A guardrail for limiting API usage",
"limit_usd": 50,
"reset_interval": "monthly",
"allowed_providers": [
"openai",
"anthropic",
"deepseek"
],
"allowed_models": null,
"enforce_zdr": false
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequestbody.md new file mode 100644 index 000000000..0dae48657 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailrequestbody.md @@ -0,0 +1,14 @@ +# CreateGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | Name for the new guardrail | My New Guardrail | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | A guardrail for limiting API usage | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 50 | +| `reset_interval` | [OptionalNullable[operations.CreateGuardrailResetIntervalRequest]](../operations/createguardrailresetintervalrequest.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | false | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalrequest.md new file mode 100644 index 000000000..4d591a766 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalrequest.md @@ -0,0 +1,12 @@ +# CreateGuardrailResetIntervalRequest + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalresponse.md new file mode 100644 index 000000000..b49fa04b6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresetintervalresponse.md @@ -0,0 +1,12 @@ +# CreateGuardrailResetIntervalResponse + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresponse.md new file mode 100644 index 000000000..0afc0065a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createguardrailresponse.md @@ -0,0 +1,10 @@ +# CreateGuardrailResponse + +Guardrail created successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.CreateGuardrailData](../operations/createguardraildata.md) | :heavy_check_mark: | The created guardrail | {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Production Guardrail",
"description": "Guardrail for production environment",
"limit_usd": 100,
"reset_interval": "monthly",
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"allowed_models": null,
"enforce_zdr": false,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysdata.md new file mode 100644 index 000000000..cd28aacb7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysdata.md @@ -0,0 +1,28 @@ +# CreateKeysData + +The created API key information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | Unique hash identifier for the API key | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `name` | *str* | :heavy_check_mark: | Name of the API key | My Production Key | +| `label` | *str* | :heavy_check_mark: | Human-readable label for the API key | sk-or-v1-0e6...1c96 | +| `disabled` | *bool* | :heavy_check_mark: | Whether the API key is disabled | false | +| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 | +| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 | +| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly | +| `include_byok_in_limit` | *bool* | :heavy_check_mark: | Whether to include external BYOK usage in the credit limit | false | +| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 | +| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 | +| `usage_weekly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) | 25.5 | +| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 | +| `byok_usage` | *float* | :heavy_check_mark: | Total external BYOK usage (in USD) for the API key | 17.38 | +| `byok_usage_daily` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC day | 17.38 | +| `byok_usage_weekly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC week (Monday-Sunday) | 17.38 | +| `byok_usage_monthly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for current UTC month | 17.38 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was created | 2025-08-24T10:30:00Z | +| `updated_at` | *Nullable[str]* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was last updated | 2025-08-24T15:45:00Z | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | ISO 8601 UTC timestamp when the API key expires, or null if no expiration | 2027-12-31T23:59:59Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysglobals.md new file mode 100644 index 000000000..3c0267871 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysglobals.md @@ -0,0 +1,9 @@ +# CreateKeysGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeyslimitreset.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeyslimitreset.md new file mode 100644 index 000000000..5d1659c4c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeyslimitreset.md @@ -0,0 +1,12 @@ +# CreateKeysLimitReset + +Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequest.md new file mode 100644 index 000000000..b949a602e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequest.md @@ -0,0 +1,10 @@ +# CreateKeysRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `request_body` | [operations.CreateKeysRequestBody](../operations/createkeysrequestbody.md) | :heavy_check_mark: | N/A | {
"name": "My New API Key",
"limit": 50,
"limit_reset": "monthly",
"include_byok_in_limit": true,
"expires_at": "2027-12-31T23:59:59Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequestbody.md new file mode 100644 index 000000000..067a1d5ed --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysrequestbody.md @@ -0,0 +1,12 @@ +# CreateKeysRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | Name for the new API key | My New API Key | +| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | Optional spending limit for the API key in USD | 50 | +| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../operations/createkeyslimitreset.md) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly | +| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected | 2027-12-31T23:59:59Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysresponse.md new file mode 100644 index 000000000..cf2b1cf1f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createkeysresponse.md @@ -0,0 +1,11 @@ +# CreateKeysResponse + +API key created successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.CreateKeysData](../operations/createkeysdata.md) | :heavy_check_mark: | The created API key information | {
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"name": "My Production Key",
"label": "sk-or-v1-0e6...1c96",
"disabled": false,
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"include_byok_in_limit": false,
"usage": 25.5,
"usage_daily": 25.5,
"usage_weekly": 25.5,
"usage_monthly": 25.5,
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_weekly": 17.38,
"byok_usage_monthly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z",
"expires_at": "2027-12-31T23:59:59Z"
} | +| `key` | *str* | :heavy_check_mark: | The actual API key string (only shown once) | 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 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesglobals.md new file mode 100644 index 000000000..6b6ca5500 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesglobals.md @@ -0,0 +1,9 @@ +# CreateResponsesGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesrequest.md new file mode 100644 index 000000000..1eba6ef43 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesrequest.md @@ -0,0 +1,10 @@ +# CreateResponsesRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `open_responses_request` | [components.OpenResponsesRequest](../components/openresponsesrequest.md) | :heavy_check_mark: | N/A | {
"model": "anthropic/claude-4.5-sonnet-20250929",
"input": [
{
"type": "message",
"content": "Hello, how are you?",
"role": "user"
}
],
"temperature": 0.7,
"top_p": 0.9,
"tools": [
{
"type": "function",
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string"
}
}
}
}
]
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponse.md new file mode 100644 index 000000000..849c9381a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponse.md @@ -0,0 +1,17 @@ +# CreateResponsesResponse + + +## Supported Types + +### `components.OpenResponsesNonStreamingResponse` + +```python +value: components.OpenResponsesNonStreamingResponse = /* values here */ +``` + +### `Union[eventstreaming.EventStream[components.OpenResponsesStreamEvent], eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]]` + +```python +value: Union[eventstreaming.EventStream[components.OpenResponsesStreamEvent], eventstreaming.EventStreamAsync[components.OpenResponsesStreamEvent]] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponsebody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponsebody.md new file mode 100644 index 000000000..046baeaa6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/createresponsesresponsebody.md @@ -0,0 +1,10 @@ +# CreateResponsesResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [components.OpenResponsesStreamEvent](../components/openresponsesstreamevent.md) | :heavy_check_mark: | Union of all possible event types emitted during response streaming | {
"type": "response.created",
"response": {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "in_progress",
"output": [],
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"metadata": null,
"instructions": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null
},
"sequence_number": 0
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/data.md b/.github/skills/openrouter-python-sdk/references/documentation/other/data.md new file mode 100644 index 000000000..8d840f603 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/data.md @@ -0,0 +1,10 @@ +# Data + +Model count data + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `count` | *float* | :heavy_check_mark: | Total number of available models | 150 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/datacollection.md b/.github/skills/openrouter-python-sdk/references/documentation/other/datacollection.md new file mode 100644 index 000000000..a07c6e2e5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/datacollection.md @@ -0,0 +1,14 @@ +# DataCollection + +Data collection setting. If no available model provider meets the requirement, your request will return an error. +- allow: (default) allow providers which store user data non-transiently and may train on it + +- deny: use only providers which do not collect user data. + + +## Values + +| Name | Value | +| ------- | ------- | +| `DENY` | deny | +| `ALLOW` | allow | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/debugoptions.md b/.github/skills/openrouter-python-sdk/references/documentation/other/debugoptions.md new file mode 100644 index 000000000..f3da9a695 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/debugoptions.md @@ -0,0 +1,10 @@ +# DebugOptions + +Debug options for inspecting request transformations (streaming only) + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `echo_upstream_body` | *Optional[bool]* | :heavy_minus_sign: | If true, includes the transformed upstream request body in a debug chunk at the start of the stream. Only works with streaming mode. | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/defaultparameters.md b/.github/skills/openrouter-python-sdk/references/documentation/other/defaultparameters.md new file mode 100644 index 000000000..b343b60b4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/defaultparameters.md @@ -0,0 +1,12 @@ +# DefaultParameters + +Default parameters for this model + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailglobals.md new file mode 100644 index 000000000..f3c784f83 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailglobals.md @@ -0,0 +1,9 @@ +# DeleteGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailrequest.md new file mode 100644 index 000000000..148b738bf --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailrequest.md @@ -0,0 +1,10 @@ +# DeleteGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail to delete | 550e8400-e29b-41d4-a716-446655440000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailresponse.md new file mode 100644 index 000000000..b548b9ff0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deleteguardrailresponse.md @@ -0,0 +1,10 @@ +# DeleteGuardrailResponse + +Guardrail deleted successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `deleted` | *Literal[True]* | :heavy_check_mark: | Confirmation that the guardrail was deleted | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysglobals.md new file mode 100644 index 000000000..b987a264c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysglobals.md @@ -0,0 +1,9 @@ +# DeleteKeysGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysrequest.md new file mode 100644 index 000000000..4c6e56775 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysrequest.md @@ -0,0 +1,10 @@ +# DeleteKeysRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to delete | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysresponse.md new file mode 100644 index 000000000..cc7cddbdd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/deletekeysresponse.md @@ -0,0 +1,10 @@ +# DeleteKeysResponse + +API key deleted successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `deleted` | *Literal[True]* | :heavy_check_mark: | Confirmation that the API key was deleted | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/developermessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessage.md new file mode 100644 index 000000000..3a2ca636a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessage.md @@ -0,0 +1,12 @@ +# DeveloperMessage + +Developer message + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `role` | [components.DeveloperMessageRole](../components/developermessagerole.md) | :heavy_check_mark: | N/A | | +| `content` | [components.DeveloperMessageContent](../components/developermessagecontent.md) | :heavy_check_mark: | Developer message content | This is a message from the developer. | +| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the developer message | Developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagecontent.md new file mode 100644 index 000000000..6cb0103d8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagecontent.md @@ -0,0 +1,19 @@ +# DeveloperMessageContent + +Developer message content + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.ChatMessageContentItemText]` + +```python +value: List[components.ChatMessageContentItemText] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagerole.md new file mode 100644 index 000000000..01bf651d7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/developermessagerole.md @@ -0,0 +1,8 @@ +# DeveloperMessageRole + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DEVELOPER` | developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerror.md new file mode 100644 index 000000000..b12eb0627 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerror.md @@ -0,0 +1,11 @@ +# EdgeNetworkTimeoutResponseError + +Infrastructure Timeout - Provider request timed out at edge network + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `error` | [components.EdgeNetworkTimeoutResponseErrorData](../components/edgenetworktimeoutresponseerrordata.md) | :heavy_check_mark: | Error data for EdgeNetworkTimeoutResponse | {
"code": 524,
"message": "Request timed out. Please try again later."
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerrordata.md new file mode 100644 index 000000000..f460fe48e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/edgenetworktimeoutresponseerrordata.md @@ -0,0 +1,12 @@ +# EdgeNetworkTimeoutResponseErrorData + +Error data for EdgeNetworkTimeoutResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/effort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/effort.md new file mode 100644 index 000000000..b23f0fb57 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/effort.md @@ -0,0 +1,15 @@ +# Effort + +Constrains effort on reasoning for reasoning models + + +## Values + +| Name | Value | +| --------- | --------- | +| `XHIGH` | xhigh | +| `HIGH` | high | +| `MEDIUM` | medium | +| `LOW` | low | +| `MINIMAL` | minimal | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/embedding.md b/.github/skills/openrouter-python-sdk/references/documentation/other/embedding.md new file mode 100644 index 000000000..59f08e3d1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/embedding.md @@ -0,0 +1,17 @@ +# Embedding + + +## Supported Types + +### `List[float]` + +```python +value: List[float] = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/encodingformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/encodingformat.md new file mode 100644 index 000000000..7d5941cfe --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/encodingformat.md @@ -0,0 +1,9 @@ +# EncodingFormat + + +## Values + +| Name | Value | +| -------- | -------- | +| `FLOAT` | float | +| `BASE64` | base64 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/endpointstatus.md b/.github/skills/openrouter-python-sdk/references/documentation/other/endpointstatus.md new file mode 100644 index 000000000..dd8900571 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/endpointstatus.md @@ -0,0 +1,13 @@ +# EndpointStatus + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ZERO` | 0 | +| `MINUS_1` | -1 | +| `MINUS_2` | -2 | +| `MINUS_3` | -3 | +| `MINUS_5` | -5 | +| `MINUS_10` | -10 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/error.md b/.github/skills/openrouter-python-sdk/references/documentation/other/error.md new file mode 100644 index 000000000..7765bfc58 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/error.md @@ -0,0 +1,11 @@ +# Error + +Error information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | +| `message` | *str* | :heavy_check_mark: | Error message | Rate limit exceeded | +| `code` | *float* | :heavy_check_mark: | Error code | 429 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeycodechallengemethod.md b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeycodechallengemethod.md new file mode 100644 index 000000000..eec31e8c5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeycodechallengemethod.md @@ -0,0 +1,11 @@ +# ExchangeAuthCodeForAPIKeyCodeChallengeMethod + +The method used to generate the code challenge + + +## Values + +| Name | Value | +| ------- | ------- | +| `S256` | S256 | +| `PLAIN` | plain | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyglobals.md new file mode 100644 index 000000000..1f4c2b5b8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyglobals.md @@ -0,0 +1,9 @@ +# ExchangeAuthCodeForAPIKeyGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequest.md new file mode 100644 index 000000000..d175446d0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequest.md @@ -0,0 +1,10 @@ +# ExchangeAuthCodeForAPIKeyRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `request_body` | [operations.ExchangeAuthCodeForAPIKeyRequestBody](../operations/exchangeauthcodeforapikeyrequestbody.md) | :heavy_check_mark: | N/A | {
"code": "auth_code_abc123def456",
"code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
"code_challenge_method": "S256"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequestbody.md new file mode 100644 index 000000000..1543d5827 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyrequestbody.md @@ -0,0 +1,10 @@ +# ExchangeAuthCodeForAPIKeyRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `code` | *str* | :heavy_check_mark: | The authorization code received from the OAuth redirect | auth_code_abc123def456 | +| `code_verifier` | *Optional[str]* | :heavy_minus_sign: | The code verifier if code_challenge was used in the authorization request | dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk | +| `code_challenge_method` | [OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod]](../operations/exchangeauthcodeforapikeycodechallengemethod.md) | :heavy_minus_sign: | The method used to generate the code challenge | S256 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyresponse.md new file mode 100644 index 000000000..11975e02a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/exchangeauthcodeforapikeyresponse.md @@ -0,0 +1,11 @@ +# ExchangeAuthCodeForAPIKeyResponse + +Successfully exchanged code for an API key + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `key` | *str* | :heavy_check_mark: | The API key to use for OpenRouter requests | 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 | +| `user_id` | *Nullable[str]* | :heavy_check_mark: | User ID associated with the API key | user_2yOPcMpKoQhcd4bVgSMlELRaIah | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/filecitation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/filecitation.md new file mode 100644 index 000000000..d9673034e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/filecitation.md @@ -0,0 +1,11 @@ +# FileCitation + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `type` | [components.FileCitationType](../components/filecitationtype.md) | :heavy_check_mark: | N/A | +| `file_id` | *str* | :heavy_check_mark: | N/A | +| `filename` | *str* | :heavy_check_mark: | N/A | +| `index` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/filecitationtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/filecitationtype.md new file mode 100644 index 000000000..787e2546b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/filecitationtype.md @@ -0,0 +1,8 @@ +# FileCitationType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `FILE_CITATION` | file_citation | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/filepath.md b/.github/skills/openrouter-python-sdk/references/documentation/other/filepath.md new file mode 100644 index 000000000..68dc392f5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/filepath.md @@ -0,0 +1,10 @@ +# FilePath + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `type` | [components.FilePathType](../components/filepathtype.md) | :heavy_check_mark: | N/A | +| `file_id` | *str* | :heavy_check_mark: | N/A | +| `index` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/filepathtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/filepathtype.md new file mode 100644 index 000000000..8edc6ad00 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/filepathtype.md @@ -0,0 +1,8 @@ +# FilePathType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `FILE_PATH` | file_path | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerror.md new file mode 100644 index 000000000..290d3a419 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerror.md @@ -0,0 +1,11 @@ +# ForbiddenResponseError + +Forbidden - Authentication successful but insufficient permissions + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `error` | [components.ForbiddenResponseErrorData](../components/forbiddenresponseerrordata.md) | :heavy_check_mark: | Error data for ForbiddenResponse | {
"code": 403,
"message": "Only management keys can perform this operation"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerrordata.md new file mode 100644 index 000000000..37e2199b4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/forbiddenresponseerrordata.md @@ -0,0 +1,12 @@ +# ForbiddenResponseErrorData + +Error data for ForbiddenResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsdata.md new file mode 100644 index 000000000..9ba4582d5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsdata.md @@ -0,0 +1,9 @@ +# GetCreditsData + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `total_credits` | *float* | :heavy_check_mark: | Total credits purchased | 100.5 | +| `total_usage` | *float* | :heavy_check_mark: | Total credits used | 25.75 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsglobals.md new file mode 100644 index 000000000..ea59176b8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsglobals.md @@ -0,0 +1,9 @@ +# GetCreditsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsrequest.md new file mode 100644 index 000000000..e6066dca0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsrequest.md @@ -0,0 +1,9 @@ +# GetCreditsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsresponse.md new file mode 100644 index 000000000..a58a336fb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcreditsresponse.md @@ -0,0 +1,10 @@ +# GetCreditsResponse + +Total credits purchased and used + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `data` | [operations.GetCreditsData](../operations/getcreditsdata.md) | :heavy_check_mark: | N/A | {
"total_credits": 100.5,
"total_usage": 25.75
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeydata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeydata.md new file mode 100644 index 000000000..3e11b0c1a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeydata.md @@ -0,0 +1,27 @@ +# GetCurrentKeyData + +Current API key information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `label` | *str* | :heavy_check_mark: | Human-readable label for the API key | sk-or-v1-0e6...1c96 | +| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 | +| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 | +| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 | +| `usage_weekly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) | 25.5 | +| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 | +| `byok_usage` | *float* | :heavy_check_mark: | Total external BYOK usage (in USD) for the API key | 17.38 | +| `byok_usage_daily` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC day | 17.38 | +| `byok_usage_weekly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC week (Monday-Sunday) | 17.38 | +| `byok_usage_monthly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for current UTC month | 17.38 | +| `is_free_tier` | *bool* | :heavy_check_mark: | Whether this is a free tier API key | false | +| `is_management_key` | *bool* | :heavy_check_mark: | Whether this is a management key | false | +| ~~`is_provisioning_key`~~ | *bool* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Whether this is a management key | false | +| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 | +| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly | +| `include_byok_in_limit` | *bool* | :heavy_check_mark: | Whether to include external BYOK usage in the credit limit | false | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | ISO 8601 UTC timestamp when the API key expires, or null if no expiration | 2027-12-31T23:59:59Z | +| ~~`rate_limit`~~ | [operations.RateLimit](../operations/ratelimit.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Legacy rate limit information about a key. Will always return -1. | {
"requests": 1000,
"interval": "1h",
"note": "This field is deprecated and safe to ignore."
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyglobals.md new file mode 100644 index 000000000..fd90af93d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyglobals.md @@ -0,0 +1,9 @@ +# GetCurrentKeyGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyrequest.md new file mode 100644 index 000000000..fd28cff23 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyrequest.md @@ -0,0 +1,9 @@ +# GetCurrentKeyRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyresponse.md new file mode 100644 index 000000000..b27c3a5f9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getcurrentkeyresponse.md @@ -0,0 +1,10 @@ +# GetCurrentKeyResponse + +API key details + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.GetCurrentKeyData](../operations/getcurrentkeydata.md) | :heavy_check_mark: | Current API key information | {
"label": "sk-or-v1-au7...890",
"limit": 100,
"usage": 25.5,
"usage_daily": 25.5,
"usage_weekly": 25.5,
"usage_monthly": 25.5,
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_weekly": 17.38,
"byok_usage_monthly": 17.38,
"is_free_tier": false,
"is_management_key": false,
"is_provisioning_key": false,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"include_byok_in_limit": false,
"expires_at": "2027-12-31T23:59:59Z",
"rate_limit": {
"requests": 1000,
"interval": "1h",
"note": "This field is deprecated and safe to ignore."
}
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationdata.md new file mode 100644 index 000000000..f8c54d179 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationdata.md @@ -0,0 +1,43 @@ +# GetGenerationData + +Generation data + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the generation | gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG | +| `upstream_id` | *Nullable[str]* | :heavy_check_mark: | Upstream provider's identifier for this generation | chatcmpl-791bcf62-080e-4568-87d0-94c72e3b4946 | +| `total_cost` | *float* | :heavy_check_mark: | Total cost of the generation in USD | 0.0015 | +| `cache_discount` | *Nullable[float]* | :heavy_check_mark: | Discount applied due to caching | 0.0002 | +| `upstream_inference_cost` | *Nullable[float]* | :heavy_check_mark: | Cost charged by the upstream provider | 0.0012 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the generation was created | 2024-07-15T23:33:19.433273+00:00 | +| `model` | *str* | :heavy_check_mark: | Model used for the generation | sao10k/l3-stheno-8b | +| `app_id` | *Nullable[float]* | :heavy_check_mark: | ID of the app that made the request | 12345 | +| `streamed` | *Nullable[bool]* | :heavy_check_mark: | Whether the response was streamed | true | +| `cancelled` | *Nullable[bool]* | :heavy_check_mark: | Whether the generation was cancelled | false | +| `provider_name` | *Nullable[str]* | :heavy_check_mark: | Name of the provider that served the request | Infermatic | +| `latency` | *Nullable[float]* | :heavy_check_mark: | Total latency in milliseconds | 1250 | +| `moderation_latency` | *Nullable[float]* | :heavy_check_mark: | Moderation latency in milliseconds | 50 | +| `generation_time` | *Nullable[float]* | :heavy_check_mark: | Time taken for generation in milliseconds | 1200 | +| `finish_reason` | *Nullable[str]* | :heavy_check_mark: | Reason the generation finished | stop | +| `tokens_prompt` | *Nullable[float]* | :heavy_check_mark: | Number of tokens in the prompt | 10 | +| `tokens_completion` | *Nullable[float]* | :heavy_check_mark: | Number of tokens in the completion | 25 | +| `native_tokens_prompt` | *Nullable[float]* | :heavy_check_mark: | Native prompt tokens as reported by provider | 10 | +| `native_tokens_completion` | *Nullable[float]* | :heavy_check_mark: | Native completion tokens as reported by provider | 25 | +| `native_tokens_completion_images` | *Nullable[float]* | :heavy_check_mark: | Native completion image tokens as reported by provider | 0 | +| `native_tokens_reasoning` | *Nullable[float]* | :heavy_check_mark: | Native reasoning tokens as reported by provider | 5 | +| `native_tokens_cached` | *Nullable[float]* | :heavy_check_mark: | Native cached tokens as reported by provider | 3 | +| `num_media_prompt` | *Nullable[float]* | :heavy_check_mark: | Number of media items in the prompt | 1 | +| `num_input_audio_prompt` | *Nullable[float]* | :heavy_check_mark: | Number of audio inputs in the prompt | 0 | +| `num_media_completion` | *Nullable[float]* | :heavy_check_mark: | Number of media items in the completion | 0 | +| `num_search_results` | *Nullable[float]* | :heavy_check_mark: | Number of search results included | 5 | +| `origin` | *str* | :heavy_check_mark: | Origin URL of the request | https://openrouter.ai/ | +| `usage` | *float* | :heavy_check_mark: | Usage amount in USD | 0.0015 | +| `is_byok` | *bool* | :heavy_check_mark: | Whether this used bring-your-own-key | false | +| `native_finish_reason` | *Nullable[str]* | :heavy_check_mark: | Native finish reason as reported by provider | stop | +| `external_user` | *Nullable[str]* | :heavy_check_mark: | External user identifier | user-123 | +| `api_type` | [Nullable[operations.APIType]](../operations/apitype.md) | :heavy_check_mark: | Type of API used for the generation | | +| `router` | *Nullable[str]* | :heavy_check_mark: | Router used for the request (e.g., openrouter/auto) | openrouter/auto | +| `provider_responses` | List[[operations.ProviderResponse](../operations/providerresponse.md)] | :heavy_check_mark: | List of provider responses for this generation, including fallback attempts | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationglobals.md new file mode 100644 index 000000000..e8e810466 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationglobals.md @@ -0,0 +1,9 @@ +# GetGenerationGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationrequest.md new file mode 100644 index 000000000..ec8100ad5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationrequest.md @@ -0,0 +1,10 @@ +# GetGenerationRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| +| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationresponse.md new file mode 100644 index 000000000..989c19a39 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getgenerationresponse.md @@ -0,0 +1,10 @@ +# GetGenerationResponse + +Generation response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `data` | [operations.GetGenerationData](../operations/getgenerationdata.md) | :heavy_check_mark: | Generation data | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getguardraildata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardraildata.md new file mode 100644 index 000000000..5a31535cb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardraildata.md @@ -0,0 +1,19 @@ +# GetGuardrailData + +The guardrail + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `name` | *str* | :heavy_check_mark: | Name of the guardrail | Production Guardrail | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | Guardrail for production environment | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 100 | +| `reset_interval` | [OptionalNullable[operations.GetGuardrailResetInterval]](../operations/getguardrailresetinterval.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"google"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model canonical_slugs (immutable identifiers) | [
"openai/gpt-5.2-20251211",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | false | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the guardrail was created | 2025-08-24T10:30:00Z | +| `updated_at` | *OptionalNullable[str]* | :heavy_minus_sign: | ISO 8601 timestamp of when the guardrail was last updated | 2025-08-24T15:45:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailglobals.md new file mode 100644 index 000000000..e9b5b8094 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailglobals.md @@ -0,0 +1,9 @@ +# GetGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailrequest.md new file mode 100644 index 000000000..e8d2af836 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailrequest.md @@ -0,0 +1,10 @@ +# GetGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail to retrieve | 550e8400-e29b-41d4-a716-446655440000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresetinterval.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresetinterval.md new file mode 100644 index 000000000..48f4f0e1c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresetinterval.md @@ -0,0 +1,12 @@ +# GetGuardrailResetInterval + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresponse.md new file mode 100644 index 000000000..ee53506e3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getguardrailresponse.md @@ -0,0 +1,10 @@ +# GetGuardrailResponse + +Guardrail details + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.GetGuardrailData](../operations/getguardraildata.md) | :heavy_check_mark: | The guardrail | {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Production Guardrail",
"description": "Guardrail for production environment",
"limit_usd": 100,
"reset_interval": "monthly",
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"allowed_models": null,
"enforce_zdr": false,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getkeydata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeydata.md new file mode 100644 index 000000000..3ada9d0d1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeydata.md @@ -0,0 +1,28 @@ +# GetKeyData + +The API key information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | Unique hash identifier for the API key | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `name` | *str* | :heavy_check_mark: | Name of the API key | My Production Key | +| `label` | *str* | :heavy_check_mark: | Human-readable label for the API key | sk-or-v1-0e6...1c96 | +| `disabled` | *bool* | :heavy_check_mark: | Whether the API key is disabled | false | +| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 | +| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 | +| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly | +| `include_byok_in_limit` | *bool* | :heavy_check_mark: | Whether to include external BYOK usage in the credit limit | false | +| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 | +| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 | +| `usage_weekly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) | 25.5 | +| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 | +| `byok_usage` | *float* | :heavy_check_mark: | Total external BYOK usage (in USD) for the API key | 17.38 | +| `byok_usage_daily` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC day | 17.38 | +| `byok_usage_weekly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC week (Monday-Sunday) | 17.38 | +| `byok_usage_monthly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for current UTC month | 17.38 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was created | 2025-08-24T10:30:00Z | +| `updated_at` | *Nullable[str]* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was last updated | 2025-08-24T15:45:00Z | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | ISO 8601 UTC timestamp when the API key expires, or null if no expiration | 2027-12-31T23:59:59Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyglobals.md new file mode 100644 index 000000000..c88bdda90 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyglobals.md @@ -0,0 +1,9 @@ +# GetKeyGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyrequest.md new file mode 100644 index 000000000..519c41843 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyrequest.md @@ -0,0 +1,10 @@ +# GetKeyRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to retrieve | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyresponse.md new file mode 100644 index 000000000..c25cba32f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getkeyresponse.md @@ -0,0 +1,10 @@ +# GetKeyResponse + +API key details + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.GetKeyData](../operations/getkeydata.md) | :heavy_check_mark: | The API key information | {
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"name": "My Production Key",
"label": "sk-or-v1-0e6...1c96",
"disabled": false,
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"include_byok_in_limit": false,
"usage": 25.5,
"usage_daily": 25.5,
"usage_weekly": 25.5,
"usage_monthly": 25.5,
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_weekly": 17.38,
"byok_usage_monthly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z",
"expires_at": "2027-12-31T23:59:59Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsglobals.md new file mode 100644 index 000000000..31e99690f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsglobals.md @@ -0,0 +1,9 @@ +# GetModelsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsrequest.md new file mode 100644 index 000000000..469aeb5a5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getmodelsrequest.md @@ -0,0 +1,11 @@ +# GetModelsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `category` | [Optional[operations.Category]](../operations/category.md) | :heavy_minus_sign: | Filter models by use case category | programming | +| `supported_parameters` | *Optional[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getparametersprovider.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getparametersprovider.md new file mode 100644 index 000000000..4f7d2d85f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getparametersprovider.md @@ -0,0 +1,76 @@ +# GetParametersProvider + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `AI21` | AI21 | +| `AION_LABS` | AionLabs | +| `ALIBABA` | Alibaba | +| `AMAZON_BEDROCK` | Amazon Bedrock | +| `AMAZON_NOVA` | Amazon Nova | +| `ANTHROPIC` | Anthropic | +| `ARCEE_AI` | Arcee AI | +| `ATLAS_CLOUD` | AtlasCloud | +| `AVIAN` | Avian | +| `AZURE` | Azure | +| `BASE_TEN` | BaseTen | +| `BYTE_PLUS` | BytePlus | +| `BLACK_FOREST_LABS` | Black Forest Labs | +| `CEREBRAS` | Cerebras | +| `CHUTES` | Chutes | +| `CIRRASCALE` | Cirrascale | +| `CLARIFAI` | Clarifai | +| `CLOUDFLARE` | Cloudflare | +| `COHERE` | Cohere | +| `CRUSOE` | Crusoe | +| `DEEP_INFRA` | DeepInfra | +| `DEEP_SEEK` | DeepSeek | +| `FEATHERLESS` | Featherless | +| `FIREWORKS` | Fireworks | +| `FRIENDLI` | Friendli | +| `GMI_CLOUD` | GMICloud | +| `GO_POMELO` | GoPomelo | +| `GOOGLE` | Google | +| `GOOGLE_AI_STUDIO` | Google AI Studio | +| `GROQ` | Groq | +| `HYPERBOLIC` | Hyperbolic | +| `INCEPTION` | Inception | +| `INFERENCE_NET` | InferenceNet | +| `INFERMATIC` | Infermatic | +| `INFLECTION` | Inflection | +| `LIQUID` | Liquid | +| `MARA` | Mara | +| `MANCER_2` | Mancer 2 | +| `MINIMAX` | Minimax | +| `MODEL_RUN` | ModelRun | +| `MISTRAL` | Mistral | +| `MODULAR` | Modular | +| `MOONSHOT_AI` | Moonshot AI | +| `MORPH` | Morph | +| `N_COMPASS` | NCompass | +| `NEBIUS` | Nebius | +| `NEXT_BIT` | NextBit | +| `NOVITA` | Novita | +| `NVIDIA` | Nvidia | +| `OPEN_AI` | OpenAI | +| `OPEN_INFERENCE` | OpenInference | +| `PARASAIL` | Parasail | +| `PERPLEXITY` | Perplexity | +| `PHALA` | Phala | +| `RELACE` | Relace | +| `SAMBA_NOVA` | SambaNova | +| `SILICON_FLOW` | SiliconFlow | +| `SOURCEFUL` | Sourceful | +| `STEALTH` | Stealth | +| `STREAM_LAKE` | StreamLake | +| `SWITCHPOINT` | Switchpoint | +| `TARGON` | Targon | +| `TOGETHER` | Together | +| `VENICE` | Venice | +| `WAND_B` | WandB | +| `XIAOMI` | Xiaomi | +| `X_AI` | xAI | +| `Z_AI` | Z.AI | +| `FAKE_PROVIDER` | FakeProvider | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityglobals.md new file mode 100644 index 000000000..cfcdb0af9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityglobals.md @@ -0,0 +1,9 @@ +# GetUserActivityGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityrequest.md new file mode 100644 index 000000000..97457f0ae --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityrequest.md @@ -0,0 +1,10 @@ +# GetUserActivityRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `date_` | *Optional[str]* | :heavy_minus_sign: | Filter by a single UTC date in the last 30 days (YYYY-MM-DD format). | 2025-08-24 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityresponse.md new file mode 100644 index 000000000..24cc9e1af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/getuseractivityresponse.md @@ -0,0 +1,10 @@ +# GetUserActivityResponse + +Returns user activity data grouped by endpoint + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `data` | List[[components.ActivityItem](../components/activityitem.md)] | :heavy_check_mark: | List of activity items | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/globals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/globals.md new file mode 100644 index 000000000..5399b3198 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/globals.md @@ -0,0 +1,9 @@ +# Globals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/ignore.md b/.github/skills/openrouter-python-sdk/references/documentation/other/ignore.md new file mode 100644 index 000000000..5f7870871 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/ignore.md @@ -0,0 +1,17 @@ +# Ignore + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/imagegenerationstatus.md b/.github/skills/openrouter-python-sdk/references/documentation/other/imagegenerationstatus.md new file mode 100644 index 000000000..22e0541ca --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/imagegenerationstatus.md @@ -0,0 +1,11 @@ +# ImageGenerationStatus + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | +| `COMPLETED` | completed | +| `GENERATING` | generating | +| `FAILED` | failed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/imageurl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/imageurl.md new file mode 100644 index 000000000..cd90c0343 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/imageurl.md @@ -0,0 +1,8 @@ +# ImageURL + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `url` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/input.md b/.github/skills/openrouter-python-sdk/references/documentation/other/input.md new file mode 100644 index 000000000..455985900 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/input.md @@ -0,0 +1,8 @@ +# Input + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `content` | List[[operations.Content](../operations/content.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/inputmodality.md b/.github/skills/openrouter-python-sdk/references/documentation/other/inputmodality.md new file mode 100644 index 000000000..89bdc2a7f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/inputmodality.md @@ -0,0 +1,12 @@ +# InputModality + + +## Values + +| Name | Value | +| ------- | ------- | +| `TEXT` | text | +| `IMAGE` | image | +| `FILE` | file | +| `AUDIO` | audio | +| `VIDEO` | video | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/inputtokensdetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/inputtokensdetails.md new file mode 100644 index 000000000..40de8ec7a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/inputtokensdetails.md @@ -0,0 +1,8 @@ +# InputTokensDetails + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `cached_tokens` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/inputunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/inputunion.md new file mode 100644 index 000000000..75550b62d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/inputunion.md @@ -0,0 +1,35 @@ +# InputUnion + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + +### `List[float]` + +```python +value: List[float] = /* values here */ +``` + +### `List[List[float]]` + +```python +value: List[List[float]] = /* values here */ +``` + +### `List[operations.Input]` + +```python +value: List[operations.Input] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/instructtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/instructtype.md new file mode 100644 index 000000000..44c350d43 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/instructtype.md @@ -0,0 +1,31 @@ +# InstructType + +Instruction format type + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `NONE` | none | +| `AIROBOROS` | airoboros | +| `ALPACA` | alpaca | +| `ALPACA_MODIF` | alpaca-modif | +| `CHATML` | chatml | +| `CLAUDE` | claude | +| `CODE_LLAMA` | code-llama | +| `GEMMA` | gemma | +| `LLAMA2` | llama2 | +| `LLAMA3` | llama3 | +| `MISTRAL` | mistral | +| `NEMOTRON` | nemotron | +| `NEURAL` | neural | +| `OPENCHAT` | openchat | +| `PHI3` | phi3 | +| `RWKV` | rwkv | +| `VICUNA` | vicuna | +| `ZEPHYR` | zephyr | +| `DEEPSEEK_R1` | deepseek-r1 | +| `DEEPSEEK_V3_1` | deepseek-v3.1 | +| `QWQ` | qwq | +| `QWEN3` | qwen3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerror.md new file mode 100644 index 000000000..b625175af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerror.md @@ -0,0 +1,11 @@ +# InternalServerResponseError + +Internal Server Error - Unexpected server error + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `error` | [components.InternalServerResponseErrorData](../components/internalserverresponseerrordata.md) | :heavy_check_mark: | Error data for InternalServerResponse | {
"code": 500,
"message": "Internal Server Error"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerrordata.md new file mode 100644 index 000000000..b320ded97 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/internalserverresponseerrordata.md @@ -0,0 +1,12 @@ +# InternalServerResponseErrorData + +Error data for InternalServerResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/jsonschemaconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/jsonschemaconfig.md new file mode 100644 index 000000000..4e1a91ac7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/jsonschemaconfig.md @@ -0,0 +1,13 @@ +# JSONSchemaConfig + +JSON Schema configuration object + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | Schema name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars) | math_response | +| `description` | *Optional[str]* | :heavy_minus_sign: | Schema description for the model | A mathematical response | +| `schema_` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | JSON Schema object | {
"type": "object",
"properties": {
"answer": {
"type": "number"
}
},
"required": [
"answer"
]
} | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | Enable strict schema adherence | false | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listdata.md new file mode 100644 index 000000000..b43de299e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listdata.md @@ -0,0 +1,26 @@ +# ListData + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | Unique hash identifier for the API key | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `name` | *str* | :heavy_check_mark: | Name of the API key | My Production Key | +| `label` | *str* | :heavy_check_mark: | Human-readable label for the API key | sk-or-v1-0e6...1c96 | +| `disabled` | *bool* | :heavy_check_mark: | Whether the API key is disabled | false | +| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 | +| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 | +| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly | +| `include_byok_in_limit` | *bool* | :heavy_check_mark: | Whether to include external BYOK usage in the credit limit | false | +| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 | +| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 | +| `usage_weekly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) | 25.5 | +| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 | +| `byok_usage` | *float* | :heavy_check_mark: | Total external BYOK usage (in USD) for the API key | 17.38 | +| `byok_usage_daily` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC day | 17.38 | +| `byok_usage_weekly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC week (Monday-Sunday) | 17.38 | +| `byok_usage_monthly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for current UTC month | 17.38 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was created | 2025-08-24T10:30:00Z | +| `updated_at` | *Nullable[str]* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was last updated | 2025-08-24T15:45:00Z | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | ISO 8601 UTC timestamp when the API key expires, or null if no expiration | 2027-12-31T23:59:59Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsglobals.md new file mode 100644 index 000000000..6cf29a9a0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsglobals.md @@ -0,0 +1,9 @@ +# ListEmbeddingsModelsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsrequest.md new file mode 100644 index 000000000..1dd16574d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listembeddingsmodelsrequest.md @@ -0,0 +1,9 @@ +# ListEmbeddingsModelsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsglobals.md new file mode 100644 index 000000000..b00c95a1f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsglobals.md @@ -0,0 +1,9 @@ +# ListEndpointsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsrequest.md new file mode 100644 index 000000000..39a1d0dac --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsrequest.md @@ -0,0 +1,11 @@ +# ListEndpointsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| +| `author` | *str* | :heavy_check_mark: | N/A | +| `slug` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsresponse.md new file mode 100644 index 000000000..d4a7a5885 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointsresponse.md @@ -0,0 +1,10 @@ +# ListEndpointsResponse + +Returns a list of endpoints + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [components.ListEndpointsResponse](../components/listendpointsresponse.md) | :heavy_check_mark: | List of available endpoints for a model | {
"id": "openai/gpt-4",
"name": "GPT-4",
"created": 1692901234,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"architecture": {
"tokenizer": "GPT",
"instruct_type": "chatml",
"modality": "text-\u003etext",
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
},
"endpoints": [
{
"name": "OpenAI: GPT-4",
"model_name": "GPT-4",
"context_length": 8192,
"pricing": {
"prompt": "0.00003",
"completion": "0.00006",
"request": "0",
"image": "0"
},
"provider_name": "OpenAI",
"tag": "openai",
"quantization": "fp16",
"max_completion_tokens": 4096,
"max_prompt_tokens": 8192,
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"status": "default",
"uptime_last_30m": 99.5,
"supports_implicit_caching": true,
"latency_last_30m": {
"p50": 0.25,
"p75": 0.35,
"p90": 0.48,
"p99": 0.85
},
"throughput_last_30m": {
"p50": 45.2,
"p75": 38.5,
"p90": 28.3,
"p99": 15.1
}
}
]
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrglobals.md new file mode 100644 index 000000000..a858e4396 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrglobals.md @@ -0,0 +1,9 @@ +# ListEndpointsZdrGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrrequest.md new file mode 100644 index 000000000..ab1f1614a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrrequest.md @@ -0,0 +1,9 @@ +# ListEndpointsZdrRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrresponse.md new file mode 100644 index 000000000..54cf662af --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listendpointszdrresponse.md @@ -0,0 +1,10 @@ +# ListEndpointsZdrResponse + +Returns a list of endpoints + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `data` | List[[components.PublicEndpoint](../components/publicendpoint.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listglobals.md new file mode 100644 index 000000000..8d1096505 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listglobals.md @@ -0,0 +1,9 @@ +# ListGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsdata.md new file mode 100644 index 000000000..285bd056c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsdata.md @@ -0,0 +1,14 @@ +# ListGuardrailKeyAssignmentsData + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the assignment | 550e8400-e29b-41d4-a716-446655440000 | +| `key_hash` | *str* | :heavy_check_mark: | Hash of the assigned API key | c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93 | +| `guardrail_id` | *str* | :heavy_check_mark: | ID of the guardrail | 550e8400-e29b-41d4-a716-446655440001 | +| `key_name` | *str* | :heavy_check_mark: | Name of the API key | Production Key | +| `key_label` | *str* | :heavy_check_mark: | Label of the API key | prod-key | +| `assigned_by` | *Nullable[str]* | :heavy_check_mark: | User ID of who made the assignment | user_abc123 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the assignment was created | 2025-08-24T10:30:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsglobals.md new file mode 100644 index 000000000..d431a1d53 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsglobals.md @@ -0,0 +1,9 @@ +# ListGuardrailKeyAssignmentsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsrequest.md new file mode 100644 index 000000000..bb7501152 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsrequest.md @@ -0,0 +1,12 @@ +# ListGuardrailKeyAssignmentsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 | +| `limit` | *Optional[str]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsresponse.md new file mode 100644 index 000000000..90844cf50 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailkeyassignmentsresponse.md @@ -0,0 +1,11 @@ +# ListGuardrailKeyAssignmentsResponse + +List of key assignments + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `data` | List[[operations.ListGuardrailKeyAssignmentsData](../operations/listguardrailkeyassignmentsdata.md)] | :heavy_check_mark: | List of key assignments | | +| `total_count` | *float* | :heavy_check_mark: | Total number of key assignments for this guardrail | 25 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsdata.md new file mode 100644 index 000000000..9b3be4f07 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsdata.md @@ -0,0 +1,13 @@ +# ListGuardrailMemberAssignmentsData + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the assignment | 550e8400-e29b-41d4-a716-446655440000 | +| `user_id` | *str* | :heavy_check_mark: | Clerk user ID of the assigned member | user_abc123 | +| `organization_id` | *str* | :heavy_check_mark: | Organization ID | org_xyz789 | +| `guardrail_id` | *str* | :heavy_check_mark: | ID of the guardrail | 550e8400-e29b-41d4-a716-446655440001 | +| `assigned_by` | *Nullable[str]* | :heavy_check_mark: | User ID of who made the assignment | user_abc123 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the assignment was created | 2025-08-24T10:30:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsglobals.md new file mode 100644 index 000000000..efaa3d9db --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsglobals.md @@ -0,0 +1,9 @@ +# ListGuardrailMemberAssignmentsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsrequest.md new file mode 100644 index 000000000..313f1c386 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsrequest.md @@ -0,0 +1,12 @@ +# ListGuardrailMemberAssignmentsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 | +| `limit` | *Optional[str]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsresponse.md new file mode 100644 index 000000000..ae1be1a57 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailmemberassignmentsresponse.md @@ -0,0 +1,11 @@ +# ListGuardrailMemberAssignmentsResponse + +List of member assignments + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `data` | List[[operations.ListGuardrailMemberAssignmentsData](../operations/listguardrailmemberassignmentsdata.md)] | :heavy_check_mark: | List of member assignments | | +| `total_count` | *float* | :heavy_check_mark: | Total number of member assignments | 10 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsdata.md new file mode 100644 index 000000000..7457408a8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsdata.md @@ -0,0 +1,17 @@ +# ListGuardrailsData + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `name` | *str* | :heavy_check_mark: | Name of the guardrail | Production Guardrail | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | Guardrail for production environment | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 100 | +| `reset_interval` | [OptionalNullable[operations.ListGuardrailsResetInterval]](../operations/listguardrailsresetinterval.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"google"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model canonical_slugs (immutable identifiers) | [
"openai/gpt-5.2-20251211",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | false | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the guardrail was created | 2025-08-24T10:30:00Z | +| `updated_at` | *OptionalNullable[str]* | :heavy_minus_sign: | ISO 8601 timestamp of when the guardrail was last updated | 2025-08-24T15:45:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsglobals.md new file mode 100644 index 000000000..65ea0396d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsglobals.md @@ -0,0 +1,9 @@ +# ListGuardrailsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsrequest.md new file mode 100644 index 000000000..4e3330b8a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsrequest.md @@ -0,0 +1,11 @@ +# ListGuardrailsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 | +| `limit` | *Optional[str]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresetinterval.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresetinterval.md new file mode 100644 index 000000000..0c651fc2d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresetinterval.md @@ -0,0 +1,12 @@ +# ListGuardrailsResetInterval + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresponse.md new file mode 100644 index 000000000..ceb67284e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listguardrailsresponse.md @@ -0,0 +1,11 @@ +# ListGuardrailsResponse + +List of guardrails + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `data` | List[[operations.ListGuardrailsData](../operations/listguardrailsdata.md)] | :heavy_check_mark: | List of guardrails | | +| `total_count` | *float* | :heavy_check_mark: | Total number of guardrails | 25 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsdata.md new file mode 100644 index 000000000..fa93d0daa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsdata.md @@ -0,0 +1,14 @@ +# ListKeyAssignmentsData + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the assignment | 550e8400-e29b-41d4-a716-446655440000 | +| `key_hash` | *str* | :heavy_check_mark: | Hash of the assigned API key | c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93 | +| `guardrail_id` | *str* | :heavy_check_mark: | ID of the guardrail | 550e8400-e29b-41d4-a716-446655440001 | +| `key_name` | *str* | :heavy_check_mark: | Name of the API key | Production Key | +| `key_label` | *str* | :heavy_check_mark: | Label of the API key | prod-key | +| `assigned_by` | *Nullable[str]* | :heavy_check_mark: | User ID of who made the assignment | user_abc123 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the assignment was created | 2025-08-24T10:30:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsglobals.md new file mode 100644 index 000000000..b6066938a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsglobals.md @@ -0,0 +1,9 @@ +# ListKeyAssignmentsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsrequest.md new file mode 100644 index 000000000..ce886c0a2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsrequest.md @@ -0,0 +1,11 @@ +# ListKeyAssignmentsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 | +| `limit` | *Optional[str]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsresponse.md new file mode 100644 index 000000000..9f6529c7e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listkeyassignmentsresponse.md @@ -0,0 +1,11 @@ +# ListKeyAssignmentsResponse + +List of key assignments + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `data` | List[[operations.ListKeyAssignmentsData](../operations/listkeyassignmentsdata.md)] | :heavy_check_mark: | List of key assignments | | +| `total_count` | *float* | :heavy_check_mark: | Total number of key assignments for this guardrail | 25 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsdata.md new file mode 100644 index 000000000..9d95d1e82 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsdata.md @@ -0,0 +1,13 @@ +# ListMemberAssignmentsData + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the assignment | 550e8400-e29b-41d4-a716-446655440000 | +| `user_id` | *str* | :heavy_check_mark: | Clerk user ID of the assigned member | user_abc123 | +| `organization_id` | *str* | :heavy_check_mark: | Organization ID | org_xyz789 | +| `guardrail_id` | *str* | :heavy_check_mark: | ID of the guardrail | 550e8400-e29b-41d4-a716-446655440001 | +| `assigned_by` | *Nullable[str]* | :heavy_check_mark: | User ID of who made the assignment | user_abc123 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the assignment was created | 2025-08-24T10:30:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsglobals.md new file mode 100644 index 000000000..9cd0e16bd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsglobals.md @@ -0,0 +1,9 @@ +# ListMemberAssignmentsGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsrequest.md new file mode 100644 index 000000000..8ec3f2a15 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsrequest.md @@ -0,0 +1,11 @@ +# ListMemberAssignmentsRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 | +| `limit` | *Optional[str]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsresponse.md new file mode 100644 index 000000000..6a05f6458 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmemberassignmentsresponse.md @@ -0,0 +1,11 @@ +# ListMemberAssignmentsResponse + +List of member assignments + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `data` | List[[operations.ListMemberAssignmentsData](../operations/listmemberassignmentsdata.md)] | :heavy_check_mark: | List of member assignments | | +| `total_count` | *float* | :heavy_check_mark: | Total number of member assignments | 10 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountglobals.md new file mode 100644 index 000000000..b0ddc734c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountglobals.md @@ -0,0 +1,9 @@ +# ListModelsCountGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountrequest.md new file mode 100644 index 000000000..95df935fb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelscountrequest.md @@ -0,0 +1,9 @@ +# ListModelsCountRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserglobals.md new file mode 100644 index 000000000..59b2ab001 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserglobals.md @@ -0,0 +1,9 @@ +# ListModelsUserGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserrequest.md new file mode 100644 index 000000000..91135940b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsuserrequest.md @@ -0,0 +1,9 @@ +# ListModelsUserRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsusersecurity.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsusersecurity.md new file mode 100644 index 000000000..3d42e13fc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listmodelsusersecurity.md @@ -0,0 +1,8 @@ +# ListModelsUserSecurity + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `bearer` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersdata.md new file mode 100644 index 000000000..967917118 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersdata.md @@ -0,0 +1,12 @@ +# ListProvidersData + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `name` | *str* | :heavy_check_mark: | Display name of the provider | OpenAI | +| `slug` | *str* | :heavy_check_mark: | URL-friendly identifier for the provider | openai | +| `privacy_policy_url` | *Nullable[str]* | :heavy_check_mark: | URL to the provider's privacy policy | https://openai.com/privacy | +| `terms_of_service_url` | *OptionalNullable[str]* | :heavy_minus_sign: | URL to the provider's terms of service | https://openai.com/terms | +| `status_page_url` | *OptionalNullable[str]* | :heavy_minus_sign: | URL to the provider's status page | https://status.openai.com | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersglobals.md new file mode 100644 index 000000000..2edb4d271 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersglobals.md @@ -0,0 +1,9 @@ +# ListProvidersGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersrequest.md new file mode 100644 index 000000000..a06e73dec --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersrequest.md @@ -0,0 +1,9 @@ +# ListProvidersRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersresponse.md new file mode 100644 index 000000000..922cc6554 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listprovidersresponse.md @@ -0,0 +1,10 @@ +# ListProvidersResponse + +Returns a list of providers + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `data` | List[[operations.ListProvidersData](../operations/listprovidersdata.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listrequest.md new file mode 100644 index 000000000..d2ab395c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listrequest.md @@ -0,0 +1,11 @@ +# ListRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `include_disabled` | *Optional[str]* | :heavy_minus_sign: | Whether to include disabled API keys in the response | false | +| `offset` | *Optional[str]* | :heavy_minus_sign: | Number of API keys to skip for pagination | 0 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/listresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/listresponse.md new file mode 100644 index 000000000..255d266cb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/listresponse.md @@ -0,0 +1,10 @@ +# ListResponse + +List of API keys + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `data` | List[[operations.ListData](../operations/listdata.md)] | :heavy_check_mark: | List of API keys | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/logprob.md b/.github/skills/openrouter-python-sdk/references/documentation/other/logprob.md new file mode 100644 index 000000000..3952f4f33 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/logprob.md @@ -0,0 +1,11 @@ +# Logprob + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `token` | *str* | :heavy_check_mark: | N/A | +| `bytes_` | List[*float*] | :heavy_check_mark: | N/A | +| `logprob` | *float* | :heavy_check_mark: | N/A | +| `top_logprobs` | List[[components.ResponseOutputTextTopLogprob](../components/responseoutputtexttoplogprob.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/maxprice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/maxprice.md new file mode 100644 index 000000000..41bb1bed5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/maxprice.md @@ -0,0 +1,14 @@ +# MaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `prompt` | *Optional[str]* | :heavy_minus_sign: | A value in string format that is a large number | 1000 | +| `completion` | *Optional[str]* | :heavy_minus_sign: | A value in string format that is a large number | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | A value in string format that is a large number | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | A value in string format that is a large number | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | A value in string format that is a large number | 1000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/message.md b/.github/skills/openrouter-python-sdk/references/documentation/other/message.md new file mode 100644 index 000000000..a75476e5d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/message.md @@ -0,0 +1,37 @@ +# Message + +Chat completion message with role-based discrimination + + +## Supported Types + +### `components.SystemMessage` + +```python +value: components.SystemMessage = /* values here */ +``` + +### `components.UserMessage` + +```python +value: components.UserMessage = /* values here */ +``` + +### `components.DeveloperMessage` + +```python +value: components.DeveloperMessage = /* values here */ +``` + +### `components.AssistantMessage` + +```python +value: components.AssistantMessage = /* values here */ +``` + +### `components.ToolResponseMessage` + +```python +value: components.ToolResponseMessage = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/metadata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/metadata.md new file mode 100644 index 000000000..87bf7e340 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/metadata.md @@ -0,0 +1,10 @@ +# Metadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `chain_id` | *float* | :heavy_check_mark: | N/A | +| `contract_address` | *str* | :heavy_check_mark: | N/A | +| `sender` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modality.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modality.md new file mode 100644 index 000000000..4edb3782e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modality.md @@ -0,0 +1,9 @@ +# Modality + + +## Values + +| Name | Value | +| ------- | ------- | +| `TEXT` | text | +| `IMAGE` | image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/model.md b/.github/skills/openrouter-python-sdk/references/documentation/other/model.md new file mode 100644 index 000000000..86c7cd613 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/model.md @@ -0,0 +1,23 @@ +# Model + +Information about an AI model available on OpenRouter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the model | openai/gpt-4 | +| `canonical_slug` | *str* | :heavy_check_mark: | Canonical slug for the model | openai/gpt-4 | +| `hugging_face_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Hugging Face model identifier, if applicable | microsoft/DialoGPT-medium | +| `name` | *str* | :heavy_check_mark: | Display name of the model | GPT-4 | +| `created` | *float* | :heavy_check_mark: | Unix timestamp of when the model was created | 1692901234 | +| `description` | *Optional[str]* | :heavy_minus_sign: | Description of the model | GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy. | +| `pricing` | [components.PublicPricing](../components/publicpricing.md) | :heavy_check_mark: | Pricing information for the model | {
"prompt": "0.00003",
"completion": "0.00006",
"request": "0",
"image": "0"
} | +| `context_length` | *Nullable[float]* | :heavy_check_mark: | Maximum context length in tokens | 8192 | +| `architecture` | [components.ModelArchitecture](../components/modelarchitecture.md) | :heavy_check_mark: | Model architecture information | {
"tokenizer": "GPT",
"instruct_type": "chatml",
"modality": "text-\u003etext",
"input_modalities": [
"text"
],
"output_modalities": [
"text"
]
} | +| `top_provider` | [components.TopProviderInfo](../components/topproviderinfo.md) | :heavy_check_mark: | Information about the top provider for this model | {
"context_length": 8192,
"max_completion_tokens": 4096,
"is_moderated": true
} | +| `per_request_limits` | [Nullable[components.PerRequestLimits]](../components/perrequestlimits.md) | :heavy_check_mark: | Per-request token limits | {
"prompt_tokens": 1000,
"completion_tokens": 1000
} | +| `supported_parameters` | List[[components.Parameter](../components/parameter.md)] | :heavy_check_mark: | List of supported parameters for this model | | +| `default_parameters` | [Nullable[components.DefaultParameters]](../components/defaultparameters.md) | :heavy_check_mark: | Default parameters for this model | {
"temperature": 0.7,
"top_p": 0.9,
"frequency_penalty": 0
} | +| `expiration_date` | *OptionalNullable[str]* | :heavy_minus_sign: | The date after which the model may be removed. ISO 8601 date string (YYYY-MM-DD) or null if no expiration. | 2025-06-01 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitecture.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitecture.md new file mode 100644 index 000000000..63f4c3230 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitecture.md @@ -0,0 +1,14 @@ +# ModelArchitecture + +Model architecture information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `tokenizer` | [Optional[components.ModelGroup]](../components/modelgroup.md) | :heavy_minus_sign: | Tokenizer type used by the model | GPT | +| `instruct_type` | [OptionalNullable[components.ModelArchitectureInstructType]](../components/modelarchitectureinstructtype.md) | :heavy_minus_sign: | Instruction format type | chatml | +| `modality` | *Nullable[str]* | :heavy_check_mark: | Primary modality of the model | text->text | +| `input_modalities` | List[[components.InputModality](../components/inputmodality.md)] | :heavy_check_mark: | Supported input modalities | | +| `output_modalities` | List[[components.OutputModality](../components/outputmodality.md)] | :heavy_check_mark: | Supported output modalities | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitectureinstructtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitectureinstructtype.md new file mode 100644 index 000000000..eabbbe356 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modelarchitectureinstructtype.md @@ -0,0 +1,31 @@ +# ModelArchitectureInstructType + +Instruction format type + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `NONE` | none | +| `AIROBOROS` | airoboros | +| `ALPACA` | alpaca | +| `ALPACA_MODIF` | alpaca-modif | +| `CHATML` | chatml | +| `CLAUDE` | claude | +| `CODE_LLAMA` | code-llama | +| `GEMMA` | gemma | +| `LLAMA2` | llama2 | +| `LLAMA3` | llama3 | +| `MISTRAL` | mistral | +| `NEMOTRON` | nemotron | +| `NEURAL` | neural | +| `OPENCHAT` | openchat | +| `PHI3` | phi3 | +| `RWKV` | rwkv | +| `VICUNA` | vicuna | +| `ZEPHYR` | zephyr | +| `DEEPSEEK_R1` | deepseek-r1 | +| `DEEPSEEK_V3_1` | deepseek-v3.1 | +| `QWQ` | qwq | +| `QWEN3` | qwen3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modelgroup.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modelgroup.md new file mode 100644 index 000000000..377c57c72 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modelgroup.md @@ -0,0 +1,28 @@ +# ModelGroup + +Tokenizer type used by the model + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ROUTER` | Router | +| `MEDIA` | Media | +| `OTHER` | Other | +| `GPT` | GPT | +| `CLAUDE` | Claude | +| `GEMINI` | Gemini | +| `GROK` | Grok | +| `COHERE` | Cohere | +| `NOVA` | Nova | +| `QWEN` | Qwen | +| `YI` | Yi | +| `DEEP_SEEK` | DeepSeek | +| `MISTRAL` | Mistral | +| `LLAMA2` | Llama2 | +| `LLAMA3` | Llama3 | +| `LLAMA4` | Llama4 | +| `PA_LM` | PaLM | +| `RWKV` | RWKV | +| `QWEN3` | Qwen3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modelscountresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modelscountresponse.md new file mode 100644 index 000000000..84bbce80e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modelscountresponse.md @@ -0,0 +1,10 @@ +# ModelsCountResponse + +Model count data + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `data` | [components.Data](../components/data.md) | :heavy_check_mark: | Model count data | {
"count": 150
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/modelslistresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/modelslistresponse.md new file mode 100644 index 000000000..dacf9fa26 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/modelslistresponse.md @@ -0,0 +1,10 @@ +# ModelsListResponse + +List of available models + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `data` | List[[components.Model](../components/model.md)] | :heavy_check_mark: | List of available models | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoice.md new file mode 100644 index 000000000..bfd165ed2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoice.md @@ -0,0 +1,11 @@ +# NamedToolChoice + +Named tool choice for specific function + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `type` | [components.NamedToolChoiceType](../components/namedtoolchoicetype.md) | :heavy_check_mark: | N/A | +| `function` | [components.NamedToolChoiceFunction](../components/namedtoolchoicefunction.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicefunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicefunction.md new file mode 100644 index 000000000..141545473 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicefunction.md @@ -0,0 +1,8 @@ +# NamedToolChoiceFunction + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `name` | *str* | :heavy_check_mark: | Function name to call | get_weather | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicetype.md new file mode 100644 index 000000000..487c9b42e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/namedtoolchoicetype.md @@ -0,0 +1,8 @@ +# NamedToolChoiceType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerror.md new file mode 100644 index 000000000..80d019168 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerror.md @@ -0,0 +1,11 @@ +# NotFoundResponseError + +Not Found - Resource does not exist + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `error` | [components.NotFoundResponseErrorData](../components/notfoundresponseerrordata.md) | :heavy_check_mark: | Error data for NotFoundResponse | {
"code": 404,
"message": "Resource not found"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerrordata.md new file mode 100644 index 000000000..0ba248529 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/notfoundresponseerrordata.md @@ -0,0 +1,12 @@ +# NotFoundResponseErrorData + +Error data for NotFoundResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/object.md b/.github/skills/openrouter-python-sdk/references/documentation/other/object.md new file mode 100644 index 000000000..39e8c0b8d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/object.md @@ -0,0 +1,8 @@ +# Object + + +## Values + +| Name | Value | +| ------ | ------ | +| `LIST` | list | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/objectembedding.md b/.github/skills/openrouter-python-sdk/references/documentation/other/objectembedding.md new file mode 100644 index 000000000..4f8c20dd3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/objectembedding.md @@ -0,0 +1,8 @@ +# ObjectEmbedding + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `EMBEDDING` | embedding | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/only.md b/.github/skills/openrouter-python-sdk/references/documentation/other/only.md new file mode 100644 index 000000000..a62341bd1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/only.md @@ -0,0 +1,17 @@ +# Only + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesannotation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesannotation.md new file mode 100644 index 000000000..e3b696289 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesannotation.md @@ -0,0 +1,23 @@ +# OpenAIResponsesAnnotation + + +## Supported Types + +### `components.FileCitation` + +```python +value: components.FileCitation = /* values here */ +``` + +### `components.URLCitation` + +```python +value: components.URLCitation = /* values here */ +``` + +### `components.FilePath` + +```python +value: components.FilePath = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincludable.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincludable.md new file mode 100644 index 000000000..d3abf01a4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincludable.md @@ -0,0 +1,12 @@ +# OpenAIResponsesIncludable + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `FILE_SEARCH_CALL_RESULTS` | file_search_call.results | +| `MESSAGE_INPUT_IMAGE_IMAGE_URL` | message.input_image.image_url | +| `COMPUTER_CALL_OUTPUT_OUTPUT_IMAGE_URL` | computer_call_output.output.image_url | +| `REASONING_ENCRYPTED_CONTENT` | reasoning.encrypted_content | +| `CODE_INTERPRETER_CALL_OUTPUTS` | code_interpreter_call.outputs | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincompletedetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincompletedetails.md new file mode 100644 index 000000000..e20d535e3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesincompletedetails.md @@ -0,0 +1,8 @@ +# OpenAIResponsesIncompleteDetails + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `reason` | [Optional[components.Reason]](../components/reason.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent1.md new file mode 100644 index 000000000..90d20cd0e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent1.md @@ -0,0 +1,29 @@ +# OpenAIResponsesInputContent1 + + +## Supported Types + +### `components.ResponseInputText` + +```python +value: components.ResponseInputText = /* values here */ +``` + +### `components.ResponseInputImage` + +```python +value: components.ResponseInputImage = /* values here */ +``` + +### `components.ResponseInputFile` + +```python +value: components.ResponseInputFile = /* values here */ +``` + +### `components.ResponseInputAudio` + +```python +value: components.ResponseInputAudio = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent2.md new file mode 100644 index 000000000..9c2ba94ad --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent2.md @@ -0,0 +1,17 @@ +# OpenAIResponsesInputContent2 + + +## Supported Types + +### `List[components.OpenAIResponsesInputContent1]` + +```python +value: List[components.OpenAIResponsesInputContent1] = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent3.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent3.md new file mode 100644 index 000000000..19236ddb9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputcontent3.md @@ -0,0 +1,29 @@ +# OpenAIResponsesInputContent3 + + +## Supported Types + +### `components.ResponseInputText` + +```python +value: components.ResponseInputText = /* values here */ +``` + +### `components.ResponseInputImage` + +```python +value: components.ResponseInputImage = /* values here */ +``` + +### `components.ResponseInputFile` + +```python +value: components.ResponseInputFile = /* values here */ +``` + +### `components.ResponseInputAudio` + +```python +value: components.ResponseInputAudio = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncall.md new file mode 100644 index 000000000..9b571b1a4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncall.md @@ -0,0 +1,13 @@ +# OpenAIResponsesInputFunctionCall + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenAIResponsesInputTypeFunctionCall](../components/openairesponsesinputtypefunctioncall.md) | :heavy_check_mark: | N/A | | +| `call_id` | *str* | :heavy_check_mark: | N/A | | +| `name` | *str* | :heavy_check_mark: | N/A | | +| `arguments` | *str* | :heavy_check_mark: | N/A | | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.md) | :heavy_minus_sign: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncalloutput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncalloutput.md new file mode 100644 index 000000000..dde5cba5d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputfunctioncalloutput.md @@ -0,0 +1,12 @@ +# OpenAIResponsesInputFunctionCallOutput + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenAIResponsesInputTypeFunctionCallOutput](../components/openairesponsesinputtypefunctioncalloutput.md) | :heavy_check_mark: | N/A | | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `call_id` | *str* | :heavy_check_mark: | N/A | | +| `output` | *str* | :heavy_check_mark: | N/A | | +| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.md) | :heavy_minus_sign: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage1.md new file mode 100644 index 000000000..3bbf8a8c5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage1.md @@ -0,0 +1,10 @@ +# OpenAIResponsesInputMessage1 + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [Optional[components.OpenAIResponsesInputTypeMessage1]](../components/openairesponsesinputtypemessage1.md) | :heavy_minus_sign: | N/A | +| `role` | [components.OpenAIResponsesInputRoleUnion1](../components/openairesponsesinputroleunion1.md) | :heavy_check_mark: | N/A | +| `content` | [components.OpenAIResponsesInputContent2](../components/openairesponsesinputcontent2.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage2.md new file mode 100644 index 000000000..d1e0783cb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputmessage2.md @@ -0,0 +1,11 @@ +# OpenAIResponsesInputMessage2 + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | N/A | +| `type` | [Optional[components.OpenAIResponsesInputTypeMessage2]](../components/openairesponsesinputtypemessage2.md) | :heavy_minus_sign: | N/A | +| `role` | [components.OpenAIResponsesInputRoleUnion2](../components/openairesponsesinputroleunion2.md) | :heavy_check_mark: | N/A | +| `content` | List[[components.OpenAIResponsesInputContent3](../components/openairesponsesinputcontent3.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleassistant.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleassistant.md new file mode 100644 index 000000000..11b1a65d8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleassistant.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleAssistant + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper1.md new file mode 100644 index 000000000..96b7d4285 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper1.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleDeveloper1 + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DEVELOPER` | developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper2.md new file mode 100644 index 000000000..bc3bdebfb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroledeveloper2.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleDeveloper2 + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DEVELOPER` | developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem1.md new file mode 100644 index 000000000..be6e117b7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem1.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleSystem1 + + +## Values + +| Name | Value | +| -------- | -------- | +| `SYSTEM` | system | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem2.md new file mode 100644 index 000000000..4781f3154 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputrolesystem2.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleSystem2 + + +## Values + +| Name | Value | +| -------- | -------- | +| `SYSTEM` | system | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion1.md new file mode 100644 index 000000000..4dc7abdb6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion1.md @@ -0,0 +1,29 @@ +# OpenAIResponsesInputRoleUnion1 + + +## Supported Types + +### `components.OpenAIResponsesInputRoleUser1` + +```python +value: components.OpenAIResponsesInputRoleUser1 = /* values here */ +``` + +### `components.OpenAIResponsesInputRoleSystem1` + +```python +value: components.OpenAIResponsesInputRoleSystem1 = /* values here */ +``` + +### `components.OpenAIResponsesInputRoleAssistant` + +```python +value: components.OpenAIResponsesInputRoleAssistant = /* values here */ +``` + +### `components.OpenAIResponsesInputRoleDeveloper1` + +```python +value: components.OpenAIResponsesInputRoleDeveloper1 = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion2.md new file mode 100644 index 000000000..1e8af9355 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleunion2.md @@ -0,0 +1,23 @@ +# OpenAIResponsesInputRoleUnion2 + + +## Supported Types + +### `components.OpenAIResponsesInputRoleUser2` + +```python +value: components.OpenAIResponsesInputRoleUser2 = /* values here */ +``` + +### `components.OpenAIResponsesInputRoleSystem2` + +```python +value: components.OpenAIResponsesInputRoleSystem2 = /* values here */ +``` + +### `components.OpenAIResponsesInputRoleDeveloper2` + +```python +value: components.OpenAIResponsesInputRoleDeveloper2 = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser1.md new file mode 100644 index 000000000..13fbb4cfa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser1.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleUser1 + + +## Values + +| Name | Value | +| ------ | ------ | +| `USER` | user | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser2.md new file mode 100644 index 000000000..8aa3c812e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputroleuser2.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputRoleUser2 + + +## Values + +| Name | Value | +| ------ | ------ | +| `USER` | user | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncall.md new file mode 100644 index 000000000..575822c3c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncall.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputTypeFunctionCall + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `FUNCTION_CALL` | function_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncalloutput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncalloutput.md new file mode 100644 index 000000000..1b85dffeb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypefunctioncalloutput.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputTypeFunctionCallOutput + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `FUNCTION_CALL_OUTPUT` | function_call_output | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage1.md new file mode 100644 index 000000000..347cece5a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage1.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputTypeMessage1 + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage2.md new file mode 100644 index 000000000..b90c11f8c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputtypemessage2.md @@ -0,0 +1,8 @@ +# OpenAIResponsesInputTypeMessage2 + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion.md new file mode 100644 index 000000000..adecdc90c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion.md @@ -0,0 +1,23 @@ +# OpenAIResponsesInputUnion + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.OpenAIResponsesInputUnion1]` + +```python +value: List[components.OpenAIResponsesInputUnion1] = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion1.md new file mode 100644 index 000000000..2c9603f0c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesinputunion1.md @@ -0,0 +1,41 @@ +# OpenAIResponsesInputUnion1 + + +## Supported Types + +### `components.OpenAIResponsesInputMessage1` + +```python +value: components.OpenAIResponsesInputMessage1 = /* values here */ +``` + +### `components.OpenAIResponsesInputMessage2` + +```python +value: components.OpenAIResponsesInputMessage2 = /* values here */ +``` + +### `components.OpenAIResponsesInputFunctionCallOutput` + +```python +value: components.OpenAIResponsesInputFunctionCallOutput = /* values here */ +``` + +### `components.OpenAIResponsesInputFunctionCall` + +```python +value: components.OpenAIResponsesInputFunctionCall = /* values here */ +``` + +### `components.OutputItemImageGenerationCall` + +```python +value: components.OutputItemImageGenerationCall = /* values here */ +``` + +### `components.OutputMessage` + +```python +value: components.OutputMessage = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesprompt.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesprompt.md new file mode 100644 index 000000000..1398955dc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesprompt.md @@ -0,0 +1,9 @@ +# OpenAIResponsesPrompt + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | N/A | +| `variables` | Dict[str, [components.Variables](../components/variables.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningconfig.md new file mode 100644 index 000000000..6df062f5e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningconfig.md @@ -0,0 +1,9 @@ +# OpenAIResponsesReasoningConfig + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `effort` | [OptionalNullable[components.OpenAIResponsesReasoningEffort]](../components/openairesponsesreasoningeffort.md) | :heavy_minus_sign: | N/A | | +| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity.md) | :heavy_minus_sign: | N/A | auto | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningeffort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningeffort.md new file mode 100644 index 000000000..dce6c3e68 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesreasoningeffort.md @@ -0,0 +1,13 @@ +# OpenAIResponsesReasoningEffort + + +## Values + +| Name | Value | +| --------- | --------- | +| `XHIGH` | xhigh | +| `HIGH` | high | +| `MEDIUM` | medium | +| `LOW` | low | +| `MINIMAL` | minimal | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontent.md new file mode 100644 index 000000000..4709b80e8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontent.md @@ -0,0 +1,9 @@ +# OpenAIResponsesRefusalContent + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenAIResponsesRefusalContentType](../components/openairesponsesrefusalcontenttype.md) | :heavy_check_mark: | N/A | +| `refusal` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontenttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontenttype.md new file mode 100644 index 000000000..e94bdd22c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesrefusalcontenttype.md @@ -0,0 +1,8 @@ +# OpenAIResponsesRefusalContentType + + +## Values + +| Name | Value | +| --------- | --------- | +| `REFUSAL` | refusal | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesresponsestatus.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesresponsestatus.md new file mode 100644 index 000000000..a3628447c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesresponsestatus.md @@ -0,0 +1,13 @@ +# OpenAIResponsesResponseStatus + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `COMPLETED` | completed | +| `INCOMPLETE` | incomplete | +| `IN_PROGRESS` | in_progress | +| `FAILED` | failed | +| `CANCELLED` | cancelled | +| `QUEUED` | queued | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesservicetier.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesservicetier.md new file mode 100644 index 000000000..2ce2fd86f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsesservicetier.md @@ -0,0 +1,12 @@ +# OpenAIResponsesServiceTier + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `DEFAULT` | default | +| `FLEX` | flex | +| `PRIORITY` | priority | +| `SCALE` | scale | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoice.md new file mode 100644 index 000000000..72b8738f1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoice.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoice + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `type` | [components.Type](../components/type.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceauto.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceauto.md new file mode 100644 index 000000000..5a958ab0c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceauto.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceAuto + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicefunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicefunction.md new file mode 100644 index 000000000..6889a238b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicefunction.md @@ -0,0 +1,9 @@ +# OpenAIResponsesToolChoiceFunction + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenAIResponsesToolChoiceTypeFunction](../components/openairesponsestoolchoicetypefunction.md) | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicenone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicenone.md new file mode 100644 index 000000000..d5c51acf2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicenone.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceNone + + +## Values + +| Name | Value | +| ------ | ------ | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicerequired.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicerequired.md new file mode 100644 index 000000000..57aefba1d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicerequired.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceRequired + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `REQUIRED` | required | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypefunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypefunction.md new file mode 100644 index 000000000..de3caa3f6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypefunction.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceTypeFunction + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview.md new file mode 100644 index 000000000..93b161b09 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceTypeWebSearchPreview + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `WEB_SEARCH_PREVIEW` | web_search_preview | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview20250311.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview20250311.md new file mode 100644 index 000000000..3162d3962 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoicetypewebsearchpreview20250311.md @@ -0,0 +1,8 @@ +# OpenAIResponsesToolChoiceTypeWebSearchPreview20250311 + + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `WEB_SEARCH_PREVIEW_2025_03_11` | web_search_preview_2025_03_11 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceunion.md new file mode 100644 index 000000000..7ab787b20 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestoolchoiceunion.md @@ -0,0 +1,35 @@ +# OpenAIResponsesToolChoiceUnion + + +## Supported Types + +### `components.OpenAIResponsesToolChoiceAuto` + +```python +value: components.OpenAIResponsesToolChoiceAuto = /* values here */ +``` + +### `components.OpenAIResponsesToolChoiceNone` + +```python +value: components.OpenAIResponsesToolChoiceNone = /* values here */ +``` + +### `components.OpenAIResponsesToolChoiceRequired` + +```python +value: components.OpenAIResponsesToolChoiceRequired = /* values here */ +``` + +### `components.OpenAIResponsesToolChoiceFunction` + +```python +value: components.OpenAIResponsesToolChoiceFunction = /* values here */ +``` + +### `components.OpenAIResponsesToolChoice` + +```python +value: components.OpenAIResponsesToolChoice = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestruncation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestruncation.md new file mode 100644 index 000000000..aafecaeb7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openairesponsestruncation.md @@ -0,0 +1,9 @@ +# OpenAIResponsesTruncation + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `DISABLED` | disabled | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessage.md new file mode 100644 index 000000000..155dd0b40 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessage.md @@ -0,0 +1,10 @@ +# OpenResponsesEasyInputMessage + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Optional[components.OpenResponsesEasyInputMessageTypeMessage]](../components/openresponseseasyinputmessagetypemessage.md) | :heavy_minus_sign: | N/A | +| `role` | [components.OpenResponsesEasyInputMessageRoleUnion](../components/openresponseseasyinputmessageroleunion.md) | :heavy_check_mark: | N/A | +| `content` | [components.OpenResponsesEasyInputMessageContentUnion2](../components/openresponseseasyinputmessagecontentunion2.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentinputimage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentinputimage.md new file mode 100644 index 000000000..22c7936a5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentinputimage.md @@ -0,0 +1,12 @@ +# OpenResponsesEasyInputMessageContentInputImage + +Image input content item + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesEasyInputMessageContentType](../components/openresponseseasyinputmessagecontenttype.md) | :heavy_check_mark: | N/A | +| `detail` | [components.OpenResponsesEasyInputMessageDetail](../components/openresponseseasyinputmessagedetail.md) | :heavy_check_mark: | N/A | +| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontenttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontenttype.md new file mode 100644 index 000000000..d39945722 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontenttype.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageContentType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_IMAGE` | input_image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion1.md new file mode 100644 index 000000000..e61d51e21 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion1.md @@ -0,0 +1,35 @@ +# OpenResponsesEasyInputMessageContentUnion1 + + +## Supported Types + +### `components.ResponseInputText` + +```python +value: components.ResponseInputText = /* values here */ +``` + +### `components.OpenResponsesEasyInputMessageContentInputImage` + +```python +value: components.OpenResponsesEasyInputMessageContentInputImage = /* values here */ +``` + +### `components.ResponseInputFile` + +```python +value: components.ResponseInputFile = /* values here */ +``` + +### `components.ResponseInputAudio` + +```python +value: components.ResponseInputAudio = /* values here */ +``` + +### `components.ResponseInputVideo` + +```python +value: components.ResponseInputVideo = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion2.md new file mode 100644 index 000000000..7bad765b4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagecontentunion2.md @@ -0,0 +1,17 @@ +# OpenResponsesEasyInputMessageContentUnion2 + + +## Supported Types + +### `List[components.OpenResponsesEasyInputMessageContentUnion1]` + +```python +value: List[components.OpenResponsesEasyInputMessageContentUnion1] = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagedetail.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagedetail.md new file mode 100644 index 000000000..a58cdb0f7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagedetail.md @@ -0,0 +1,10 @@ +# OpenResponsesEasyInputMessageDetail + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | +| `HIGH` | high | +| `LOW` | low | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleassistant.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleassistant.md new file mode 100644 index 000000000..680dd73f5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleassistant.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageRoleAssistant + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroledeveloper.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroledeveloper.md new file mode 100644 index 000000000..5bd1d42bf --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroledeveloper.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageRoleDeveloper + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DEVELOPER` | developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagerolesystem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagerolesystem.md new file mode 100644 index 000000000..9f66fe1c4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagerolesystem.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageRoleSystem + + +## Values + +| Name | Value | +| -------- | -------- | +| `SYSTEM` | system | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleunion.md new file mode 100644 index 000000000..5214d0bb0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleunion.md @@ -0,0 +1,29 @@ +# OpenResponsesEasyInputMessageRoleUnion + + +## Supported Types + +### `components.OpenResponsesEasyInputMessageRoleUser` + +```python +value: components.OpenResponsesEasyInputMessageRoleUser = /* values here */ +``` + +### `components.OpenResponsesEasyInputMessageRoleSystem` + +```python +value: components.OpenResponsesEasyInputMessageRoleSystem = /* values here */ +``` + +### `components.OpenResponsesEasyInputMessageRoleAssistant` + +```python +value: components.OpenResponsesEasyInputMessageRoleAssistant = /* values here */ +``` + +### `components.OpenResponsesEasyInputMessageRoleDeveloper` + +```python +value: components.OpenResponsesEasyInputMessageRoleDeveloper = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleuser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleuser.md new file mode 100644 index 000000000..b704af00a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessageroleuser.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageRoleUser + + +## Values + +| Name | Value | +| ------ | ------ | +| `USER` | user | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagetypemessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagetypemessage.md new file mode 100644 index 000000000..ca8ca3d0e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseseasyinputmessagetypemessage.md @@ -0,0 +1,8 @@ +# OpenResponsesEasyInputMessageTypeMessage + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserrorevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserrorevent.md new file mode 100644 index 000000000..bb360ebd5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserrorevent.md @@ -0,0 +1,14 @@ +# OpenResponsesErrorEvent + +Event emitted when an error occurs during streaming + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesErrorEventType](../components/openresponseserroreventtype.md) | :heavy_check_mark: | N/A | +| `code` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `param` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserroreventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserroreventtype.md new file mode 100644 index 000000000..32e832c8e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseserroreventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesErrorEventType + + +## Values + +| Name | Value | +| ------- | ------- | +| `ERROR` | error | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutput.md new file mode 100644 index 000000000..adf40a2d5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutput.md @@ -0,0 +1,14 @@ +# OpenResponsesFunctionCallOutput + +The output from a function call execution + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesFunctionCallOutputType](../components/openresponsesfunctioncalloutputtype.md) | :heavy_check_mark: | N/A | | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `call_id` | *str* | :heavy_check_mark: | N/A | | +| `output` | *str* | :heavy_check_mark: | N/A | | +| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.md) | :heavy_minus_sign: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutputtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutputtype.md new file mode 100644 index 000000000..41370cf7a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctioncalloutputtype.md @@ -0,0 +1,8 @@ +# OpenResponsesFunctionCallOutputType + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `FUNCTION_CALL_OUTPUT` | function_call_output | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcall.md new file mode 100644 index 000000000..7d2b5afe7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcall.md @@ -0,0 +1,15 @@ +# OpenResponsesFunctionToolCall + +A function call initiated by the model + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesFunctionToolCallType](../components/openresponsesfunctiontoolcalltype.md) | :heavy_check_mark: | N/A | | +| `call_id` | *str* | :heavy_check_mark: | N/A | | +| `name` | *str* | :heavy_check_mark: | N/A | | +| `arguments` | *str* | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.md) | :heavy_minus_sign: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcalltype.md new file mode 100644 index 000000000..e7b6246e6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesfunctiontoolcalltype.md @@ -0,0 +1,8 @@ +# OpenResponsesFunctionToolCallType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `FUNCTION_CALL` | function_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompleted.md new file mode 100644 index 000000000..980e2a7f0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompleted.md @@ -0,0 +1,13 @@ +# OpenResponsesImageGenCallCompleted + +Image generation call completed + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesImageGenCallCompletedType](../components/openresponsesimagegencallcompletedtype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompletedtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompletedtype.md new file mode 100644 index 000000000..a7316e007 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallcompletedtype.md @@ -0,0 +1,8 @@ +# OpenResponsesImageGenCallCompletedType + + +## Values + +| Name | Value | +| ------------------------------------------ | ------------------------------------------ | +| `RESPONSE_IMAGE_GENERATION_CALL_COMPLETED` | response.image_generation_call.completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgenerating.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgenerating.md new file mode 100644 index 000000000..cdd0be010 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgenerating.md @@ -0,0 +1,13 @@ +# OpenResponsesImageGenCallGenerating + +Image generation call is generating + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesImageGenCallGeneratingType](../components/openresponsesimagegencallgeneratingtype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgeneratingtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgeneratingtype.md new file mode 100644 index 000000000..68c6984eb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallgeneratingtype.md @@ -0,0 +1,8 @@ +# OpenResponsesImageGenCallGeneratingType + + +## Values + +| Name | Value | +| ------------------------------------------- | ------------------------------------------- | +| `RESPONSE_IMAGE_GENERATION_CALL_GENERATING` | response.image_generation_call.generating | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogress.md new file mode 100644 index 000000000..2d9acad8b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogress.md @@ -0,0 +1,13 @@ +# OpenResponsesImageGenCallInProgress + +Image generation call in progress + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesImageGenCallInProgressType](../components/openresponsesimagegencallinprogresstype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogresstype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogresstype.md new file mode 100644 index 000000000..f68105366 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallinprogresstype.md @@ -0,0 +1,8 @@ +# OpenResponsesImageGenCallInProgressType + + +## Values + +| Name | Value | +| -------------------------------------------- | -------------------------------------------- | +| `RESPONSE_IMAGE_GENERATION_CALL_IN_PROGRESS` | response.image_generation_call.in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimage.md new file mode 100644 index 000000000..ce1a61c63 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimage.md @@ -0,0 +1,15 @@ +# OpenResponsesImageGenCallPartialImage + +Image generation call with partial image + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesImageGenCallPartialImageType](../components/openresponsesimagegencallpartialimagetype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | +| `partial_image_b64` | *str* | :heavy_check_mark: | N/A | +| `partial_image_index` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimagetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimagetype.md new file mode 100644 index 000000000..b2cc01609 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesimagegencallpartialimagetype.md @@ -0,0 +1,8 @@ +# OpenResponsesImageGenCallPartialImageType + + +## Values + +| Name | Value | +| ---------------------------------------------- | ---------------------------------------------- | +| `RESPONSE_IMAGE_GENERATION_CALL_PARTIAL_IMAGE` | response.image_generation_call.partial_image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput.md new file mode 100644 index 000000000..ac8790220 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput.md @@ -0,0 +1,19 @@ +# OpenResponsesInput + +Input for a response request - can be a string or array of items + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.OpenResponsesInput1]` + +```python +value: List[components.OpenResponsesInput1] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput1.md new file mode 100644 index 000000000..814487884 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinput1.md @@ -0,0 +1,71 @@ +# OpenResponsesInput1 + + +## Supported Types + +### `components.OpenResponsesReasoning` + +```python +value: components.OpenResponsesReasoning = /* values here */ +``` + +### `components.OpenResponsesEasyInputMessage` + +```python +value: components.OpenResponsesEasyInputMessage = /* values here */ +``` + +### `components.OpenResponsesInputMessageItem` + +```python +value: components.OpenResponsesInputMessageItem = /* values here */ +``` + +### `components.OpenResponsesFunctionToolCall` + +```python +value: components.OpenResponsesFunctionToolCall = /* values here */ +``` + +### `components.OpenResponsesFunctionCallOutput` + +```python +value: components.OpenResponsesFunctionCallOutput = /* values here */ +``` + +### `components.ResponsesOutputMessage` + +```python +value: components.ResponsesOutputMessage = /* values here */ +``` + +### `components.ResponsesOutputItemReasoning` + +```python +value: components.ResponsesOutputItemReasoning = /* values here */ +``` + +### `components.ResponsesOutputItemFunctionCall` + +```python +value: components.ResponsesOutputItemFunctionCall = /* values here */ +``` + +### `components.ResponsesWebSearchCallOutput` + +```python +value: components.ResponsesWebSearchCallOutput = /* values here */ +``` + +### `components.ResponsesOutputItemFileSearchCall` + +```python +value: components.ResponsesOutputItemFileSearchCall = /* values here */ +``` + +### `components.ResponsesImageGenerationCall` + +```python +value: components.ResponsesImageGenerationCall = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitem.md new file mode 100644 index 000000000..827c798bb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitem.md @@ -0,0 +1,11 @@ +# OpenResponsesInputMessageItem + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `type` | [Optional[components.OpenResponsesInputMessageItemTypeMessage]](../components/openresponsesinputmessageitemtypemessage.md) | :heavy_minus_sign: | N/A | +| `role` | [components.OpenResponsesInputMessageItemRoleUnion](../components/openresponsesinputmessageitemroleunion.md) | :heavy_check_mark: | N/A | +| `content` | List[[components.OpenResponsesInputMessageItemContentUnion](../components/openresponsesinputmessageitemcontentunion.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentinputimage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentinputimage.md new file mode 100644 index 000000000..910566fe6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentinputimage.md @@ -0,0 +1,12 @@ +# OpenResponsesInputMessageItemContentInputImage + +Image input content item + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesInputMessageItemContentType](../components/openresponsesinputmessageitemcontenttype.md) | :heavy_check_mark: | N/A | +| `detail` | [components.OpenResponsesInputMessageItemDetail](../components/openresponsesinputmessageitemdetail.md) | :heavy_check_mark: | N/A | +| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontenttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontenttype.md new file mode 100644 index 000000000..85418f203 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontenttype.md @@ -0,0 +1,8 @@ +# OpenResponsesInputMessageItemContentType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_IMAGE` | input_image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentunion.md new file mode 100644 index 000000000..f35796a0e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemcontentunion.md @@ -0,0 +1,35 @@ +# OpenResponsesInputMessageItemContentUnion + + +## Supported Types + +### `components.ResponseInputText` + +```python +value: components.ResponseInputText = /* values here */ +``` + +### `components.OpenResponsesInputMessageItemContentInputImage` + +```python +value: components.OpenResponsesInputMessageItemContentInputImage = /* values here */ +``` + +### `components.ResponseInputFile` + +```python +value: components.ResponseInputFile = /* values here */ +``` + +### `components.ResponseInputAudio` + +```python +value: components.ResponseInputAudio = /* values here */ +``` + +### `components.ResponseInputVideo` + +```python +value: components.ResponseInputVideo = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemdetail.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemdetail.md new file mode 100644 index 000000000..5eff8d00a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemdetail.md @@ -0,0 +1,10 @@ +# OpenResponsesInputMessageItemDetail + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | +| `HIGH` | high | +| `LOW` | low | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroledeveloper.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroledeveloper.md new file mode 100644 index 000000000..13450f79a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroledeveloper.md @@ -0,0 +1,8 @@ +# OpenResponsesInputMessageItemRoleDeveloper + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DEVELOPER` | developer | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemrolesystem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemrolesystem.md new file mode 100644 index 000000000..e42d97207 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemrolesystem.md @@ -0,0 +1,8 @@ +# OpenResponsesInputMessageItemRoleSystem + + +## Values + +| Name | Value | +| -------- | -------- | +| `SYSTEM` | system | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleunion.md new file mode 100644 index 000000000..0e0f375bc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleunion.md @@ -0,0 +1,23 @@ +# OpenResponsesInputMessageItemRoleUnion + + +## Supported Types + +### `components.OpenResponsesInputMessageItemRoleUser` + +```python +value: components.OpenResponsesInputMessageItemRoleUser = /* values here */ +``` + +### `components.OpenResponsesInputMessageItemRoleSystem` + +```python +value: components.OpenResponsesInputMessageItemRoleSystem = /* values here */ +``` + +### `components.OpenResponsesInputMessageItemRoleDeveloper` + +```python +value: components.OpenResponsesInputMessageItemRoleDeveloper = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleuser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleuser.md new file mode 100644 index 000000000..5e8163c9c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemroleuser.md @@ -0,0 +1,8 @@ +# OpenResponsesInputMessageItemRoleUser + + +## Values + +| Name | Value | +| ------ | ------ | +| `USER` | user | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemtypemessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemtypemessage.md new file mode 100644 index 000000000..eae3581d8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesinputmessageitemtypemessage.md @@ -0,0 +1,8 @@ +# OpenResponsesInputMessageItemTypeMessage + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseslogprobs.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseslogprobs.md new file mode 100644 index 000000000..205bcacbd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseslogprobs.md @@ -0,0 +1,12 @@ +# OpenResponsesLogProbs + +Log probability information for a token + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `logprob` | *float* | :heavy_check_mark: | N/A | +| `token` | *str* | :heavy_check_mark: | N/A | +| `top_logprobs` | List[[components.OpenResponsesTopLogprobs](../components/openresponsestoplogprobs.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponse.md new file mode 100644 index 000000000..2d79d7264 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponse.md @@ -0,0 +1,43 @@ +# OpenResponsesNonStreamingResponse + +Complete non-streaming response from the Responses API + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `object` | [components.OpenResponsesNonStreamingResponseObject](../components/openresponsesnonstreamingresponseobject.md) | :heavy_check_mark: | N/A | | +| `created_at` | *float* | :heavy_check_mark: | N/A | | +| `model` | *str* | :heavy_check_mark: | N/A | | +| `status` | [components.OpenAIResponsesResponseStatus](../components/openairesponsesresponsestatus.md) | :heavy_check_mark: | N/A | | +| `completed_at` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `output` | List[[components.ResponsesOutputItem](../components/responsesoutputitem.md)] | :heavy_check_mark: | N/A | | +| `user` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `output_text` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `error` | [Nullable[components.ResponsesErrorField]](../components/responseserrorfield.md) | :heavy_check_mark: | Error information returned from the API | {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please try again later."
} | +| `incomplete_details` | [Nullable[components.OpenAIResponsesIncompleteDetails]](../components/openairesponsesincompletedetails.md) | :heavy_check_mark: | N/A | | +| `usage` | [OptionalNullable[components.OpenResponsesUsage]](../components/openresponsesusage.md) | :heavy_minus_sign: | Token usage information for the response | {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
},
"cost": 0.0012,
"cost_details": {
"upstream_inference_cost": null,
"upstream_inference_input_cost": 0.0008,
"upstream_inference_output_cost": 0.0004
}
} | +| `max_tool_calls` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_logprobs` | *Optional[float]* | :heavy_minus_sign: | N/A | | +| `max_output_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `temperature` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `top_p` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `presence_penalty` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `frequency_penalty` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `instructions` | [Nullable[components.OpenAIResponsesInputUnion]](../components/openairesponsesinputunion.md) | :heavy_check_mark: | N/A | | +| `metadata` | Dict[str, *str*] | :heavy_check_mark: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | {
"user_id": "123",
"session_id": "abc-def-ghi"
} | +| `tools` | List[[components.OpenResponsesNonStreamingResponseToolUnion](../components/openresponsesnonstreamingresponsetoolunion.md)] | :heavy_check_mark: | N/A | | +| `tool_choice` | [components.OpenAIResponsesToolChoiceUnion](../components/openairesponsestoolchoiceunion.md) | :heavy_check_mark: | N/A | | +| `parallel_tool_calls` | *bool* | :heavy_check_mark: | N/A | | +| `prompt` | [OptionalNullable[components.OpenAIResponsesPrompt]](../components/openairesponsesprompt.md) | :heavy_minus_sign: | N/A | | +| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `previous_response_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `reasoning` | [OptionalNullable[components.OpenAIResponsesReasoningConfig]](../components/openairesponsesreasoningconfig.md) | :heavy_minus_sign: | N/A | | +| `service_tier` | [OptionalNullable[components.OpenAIResponsesServiceTier]](../components/openairesponsesservicetier.md) | :heavy_minus_sign: | N/A | | +| `store` | *Optional[bool]* | :heavy_minus_sign: | N/A | | +| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../components/openairesponsestruncation.md) | :heavy_minus_sign: | N/A | | +| `text` | [Optional[components.ResponseTextConfig]](../components/responsetextconfig.md) | :heavy_minus_sign: | Text output configuration including format and verbosity | {
"format": {
"type": "text"
},
"verbosity": "medium"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponseobject.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponseobject.md new file mode 100644 index 000000000..243bd54ba --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponseobject.md @@ -0,0 +1,8 @@ +# OpenResponsesNonStreamingResponseObject + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `RESPONSE` | response | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolfunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolfunction.md new file mode 100644 index 000000000..7ffb9437b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolfunction.md @@ -0,0 +1,14 @@ +# OpenResponsesNonStreamingResponseToolFunction + +Function tool definition + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesNonStreamingResponseType](../components/openresponsesnonstreamingresponsetype.md) | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `parameters` | Dict[str, *Nullable[Any]*] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolunion.md new file mode 100644 index 000000000..cac4b7d95 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetoolunion.md @@ -0,0 +1,35 @@ +# OpenResponsesNonStreamingResponseToolUnion + + +## Supported Types + +### `components.OpenResponsesNonStreamingResponseToolFunction` + +```python +value: components.OpenResponsesNonStreamingResponseToolFunction = /* values here */ +``` + +### `components.OpenResponsesWebSearchPreviewTool` + +```python +value: components.OpenResponsesWebSearchPreviewTool = /* values here */ +``` + +### `components.OpenResponsesWebSearchPreview20250311Tool` + +```python +value: components.OpenResponsesWebSearchPreview20250311Tool = /* values here */ +``` + +### `components.OpenResponsesWebSearchTool` + +```python +value: components.OpenResponsesWebSearchTool = /* values here */ +``` + +### `components.OpenResponsesWebSearch20250826Tool` + +```python +value: components.OpenResponsesWebSearch20250826Tool = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetype.md new file mode 100644 index 000000000..5c2d918dc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesnonstreamingresponsetype.md @@ -0,0 +1,8 @@ +# OpenResponsesNonStreamingResponseType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoning.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoning.md new file mode 100644 index 000000000..5495d1bb6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoning.md @@ -0,0 +1,17 @@ +# OpenResponsesReasoning + +Reasoning output item with signature and format extensions + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesReasoningType](../components/openresponsesreasoningtype.md) | :heavy_check_mark: | N/A | +| `id` | *str* | :heavy_check_mark: | N/A | +| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent.md)] | :heavy_minus_sign: | N/A | +| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext.md)] | :heavy_check_mark: | N/A | +| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `status` | [Optional[components.OpenResponsesReasoningStatusUnion]](../components/openresponsesreasoningstatusunion.md) | :heavy_minus_sign: | N/A | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `format_` | [OptionalNullable[components.OpenResponsesReasoningFormat]](../components/openresponsesreasoningformat.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningconfig.md new file mode 100644 index 000000000..d7a8e8ac1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningconfig.md @@ -0,0 +1,13 @@ +# OpenResponsesReasoningConfig + +Configuration for reasoning mode in the response + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `effort` | [OptionalNullable[components.OpenAIResponsesReasoningEffort]](../components/openairesponsesreasoningeffort.md) | :heavy_minus_sign: | N/A | | +| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity.md) | :heavy_minus_sign: | N/A | auto | +| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `enabled` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaevent.md new file mode 100644 index 000000000..ef02f212b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaevent.md @@ -0,0 +1,15 @@ +# OpenResponsesReasoningDeltaEvent + +Event emitted when reasoning text delta is streamed + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesReasoningDeltaEventType](../components/openresponsesreasoningdeltaeventtype.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `delta` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaeventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaeventtype.md new file mode 100644 index 000000000..9edb6758f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdeltaeventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningDeltaEventType + + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `RESPONSE_REASONING_TEXT_DELTA` | response.reasoning_text.delta | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneevent.md new file mode 100644 index 000000000..107ae0ca6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneevent.md @@ -0,0 +1,15 @@ +# OpenResponsesReasoningDoneEvent + +Event emitted when reasoning text streaming is complete + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesReasoningDoneEventType](../components/openresponsesreasoningdoneeventtype.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneeventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneeventtype.md new file mode 100644 index 000000000..acd40e2f6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningdoneeventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningDoneEventType + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `RESPONSE_REASONING_TEXT_DONE` | response.reasoning_text.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningformat.md new file mode 100644 index 000000000..dbf0b1a94 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningformat.md @@ -0,0 +1,13 @@ +# OpenResponsesReasoningFormat + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `UNKNOWN` | unknown | +| `OPENAI_RESPONSES_V1` | openai-responses-v1 | +| `AZURE_OPENAI_RESPONSES_V1` | azure-openai-responses-v1 | +| `XAI_RESPONSES_V1` | xai-responses-v1 | +| `ANTHROPIC_CLAUDE_V1` | anthropic-claude-v1 | +| `GOOGLE_GEMINI_V1` | google-gemini-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatuscompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatuscompleted.md new file mode 100644 index 000000000..f484dd120 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatuscompleted.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningStatusCompleted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COMPLETED` | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusincomplete.md new file mode 100644 index 000000000..c075e66c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusincomplete.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningStatusIncomplete + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusinprogress.md new file mode 100644 index 000000000..be49f9623 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusinprogress.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningStatusInProgress + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusunion.md new file mode 100644 index 000000000..7f60b8c4e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningstatusunion.md @@ -0,0 +1,23 @@ +# OpenResponsesReasoningStatusUnion + + +## Supported Types + +### `components.OpenResponsesReasoningStatusCompleted` + +```python +value: components.OpenResponsesReasoningStatusCompleted = /* values here */ +``` + +### `components.OpenResponsesReasoningStatusIncomplete` + +```python +value: components.OpenResponsesReasoningStatusIncomplete = /* values here */ +``` + +### `components.OpenResponsesReasoningStatusInProgress` + +```python +value: components.OpenResponsesReasoningStatusInProgress = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedevent.md new file mode 100644 index 000000000..b93704b7b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedevent.md @@ -0,0 +1,15 @@ +# OpenResponsesReasoningSummaryPartAddedEvent + +Event emitted when a reasoning summary part is added + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesReasoningSummaryPartAddedEventType](../components/openresponsesreasoningsummarypartaddedeventtype.md) | :heavy_check_mark: | N/A | | +| `output_index` | *float* | :heavy_check_mark: | N/A | | +| `item_id` | *str* | :heavy_check_mark: | N/A | | +| `summary_index` | *float* | :heavy_check_mark: | N/A | | +| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext.md) | :heavy_check_mark: | N/A | {
"type": "summary_text",
"text": "Analyzed the problem using first principles"
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedeventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedeventtype.md new file mode 100644 index 000000000..30a9e3550 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarypartaddedeventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningSummaryPartAddedEventType + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `RESPONSE_REASONING_SUMMARY_PART_ADDED` | response.reasoning_summary_part.added | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaevent.md new file mode 100644 index 000000000..902860d36 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaevent.md @@ -0,0 +1,15 @@ +# OpenResponsesReasoningSummaryTextDeltaEvent + +Event emitted when reasoning summary text delta is streamed + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesReasoningSummaryTextDeltaEventType](../components/openresponsesreasoningsummarytextdeltaeventtype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `summary_index` | *float* | :heavy_check_mark: | N/A | +| `delta` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaeventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaeventtype.md new file mode 100644 index 000000000..1c60ce283 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdeltaeventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningSummaryTextDeltaEventType + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `RESPONSE_REASONING_SUMMARY_TEXT_DELTA` | response.reasoning_summary_text.delta | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneevent.md new file mode 100644 index 000000000..9a64440b8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneevent.md @@ -0,0 +1,15 @@ +# OpenResponsesReasoningSummaryTextDoneEvent + +Event emitted when reasoning summary text streaming is complete + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesReasoningSummaryTextDoneEventType](../components/openresponsesreasoningsummarytextdoneeventtype.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `summary_index` | *float* | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneeventtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneeventtype.md new file mode 100644 index 000000000..c2c83e36a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningsummarytextdoneeventtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningSummaryTextDoneEventType + + +## Values + +| Name | Value | +| -------------------------------------- | -------------------------------------- | +| `RESPONSE_REASONING_SUMMARY_TEXT_DONE` | response.reasoning_summary_text.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningtype.md new file mode 100644 index 000000000..75363980b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesreasoningtype.md @@ -0,0 +1,8 @@ +# OpenResponsesReasoningType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `REASONING` | reasoning | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequest.md new file mode 100644 index 000000000..23cf648b7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequest.md @@ -0,0 +1,44 @@ +# OpenResponsesRequest + +Request schema for Responses endpoint + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input` | [Optional[components.OpenResponsesInput]](../components/openresponsesinput.md) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
{
"role": "user",
"content": "What is the weather today?"
}
] | +| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | {
"user_id": "123",
"session_id": "abc-def-ghi"
} | +| `tools` | List[[components.OpenResponsesRequestToolUnion](../components/openresponsesrequesttoolunion.md)] | :heavy_minus_sign: | N/A | | +| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../components/openairesponsestoolchoiceunion.md) | :heavy_minus_sign: | N/A | | +| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `models` | List[*str*] | :heavy_minus_sign: | N/A | | +| `text` | [Optional[components.OpenResponsesResponseText]](../components/openresponsesresponsetext.md) | :heavy_minus_sign: | Text output configuration including format and verbosity | {
"format": {
"type": "text"
},
"verbosity": "medium"
} | +| `reasoning` | [OptionalNullable[components.OpenResponsesReasoningConfig]](../components/openresponsesreasoningconfig.md) | :heavy_minus_sign: | Configuration for reasoning mode in the response | {
"summary": "auto",
"enabled": true
} | +| `max_output_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | +| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | +| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | +| `top_k` | *Optional[float]* | :heavy_minus_sign: | N/A | | +| `image_config` | Dict[str, [components.OpenResponsesRequestImageConfig](../components/openresponsesrequestimageconfig.md)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/features/multimodal/image-generation for more details. | {
"aspect_ratio": "16:9"
} | +| `modalities` | List[[components.ResponsesOutputModality](../components/responsesoutputmodality.md)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] | +| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `previous_response_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `prompt` | [OptionalNullable[components.OpenAIResponsesPrompt]](../components/openairesponsesprompt.md) | :heavy_minus_sign: | N/A | | +| `include` | List[[components.OpenAIResponsesIncludable](../components/openairesponsesincludable.md)] | :heavy_minus_sign: | N/A | | +| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | | +| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `store` | *Optional[Literal[False]]* | :heavy_minus_sign: | N/A | | +| `service_tier` | [Optional[components.ServiceTier]](../components/servicetier.md) | :heavy_minus_sign: | N/A | | +| `truncation` | [OptionalNullable[components.Truncation]](../components/truncation.md) | :heavy_minus_sign: | N/A | auto | +| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | | +| `provider` | [OptionalNullable[components.OpenResponsesRequestProvider]](../components/openresponsesrequestprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | | +| `plugins` | List[[components.OpenResponsesRequestPluginUnion](../components/openresponsesrequestpluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | | +| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 128 characters. | | +| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. | | +| `trace` | [Optional[components.OpenResponsesRequestTrace]](../components/openresponsesrequesttrace.md) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestengine.md new file mode 100644 index 000000000..76a29d2fb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestengine.md @@ -0,0 +1,9 @@ +# OpenResponsesRequestEngine + + +## Values + +| Name | Value | +| -------- | -------- | +| `NATIVE` | native | +| `EXA` | exa | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidautorouter.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidautorouter.md new file mode 100644 index 000000000..e4dd74356 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidautorouter.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestIDAutoRouter + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `AUTO_ROUTER` | auto-router | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidfileparser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidfileparser.md new file mode 100644 index 000000000..f08492cb1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidfileparser.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestIDFileParser + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `FILE_PARSER` | file-parser | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidmoderation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidmoderation.md new file mode 100644 index 000000000..acaf61060 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidmoderation.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestIDModeration + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `MODERATION` | moderation | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidresponsehealing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidresponsehealing.md new file mode 100644 index 000000000..a0c2ca902 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidresponsehealing.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestIDResponseHealing + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `RESPONSE_HEALING` | response-healing | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidweb.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidweb.md new file mode 100644 index 000000000..121966ee2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestidweb.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestIDWeb + + +## Values + +| Name | Value | +| ----- | ----- | +| `WEB` | web | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestignore.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestignore.md new file mode 100644 index 000000000..452833033 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestignore.md @@ -0,0 +1,17 @@ +# OpenResponsesRequestIgnore + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestimageconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestimageconfig.md new file mode 100644 index 000000000..0bfb1b7ce --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestimageconfig.md @@ -0,0 +1,17 @@ +# OpenResponsesRequestImageConfig + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `float` + +```python +value: float = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestmaxprice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestmaxprice.md new file mode 100644 index 000000000..0b5bbdc9b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestmaxprice.md @@ -0,0 +1,14 @@ +# OpenResponsesRequestMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `prompt` | *Optional[str]* | :heavy_minus_sign: | Price per million prompt tokens | 1000 | +| `completion` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestonly.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestonly.md new file mode 100644 index 000000000..d1ee630e2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestonly.md @@ -0,0 +1,17 @@ +# OpenResponsesRequestOnly + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestorder.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestorder.md new file mode 100644 index 000000000..50da1f9c1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestorder.md @@ -0,0 +1,17 @@ +# OpenResponsesRequestOrder + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdf.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdf.md new file mode 100644 index 000000000..891557213 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdf.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestPdf + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `engine` | [Optional[components.OpenResponsesRequestPdfEngine]](../components/openresponsesrequestpdfengine.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdfengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdfengine.md new file mode 100644 index 000000000..d4f6a7c33 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpdfengine.md @@ -0,0 +1,10 @@ +# OpenResponsesRequestPdfEngine + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MISTRAL_OCR` | mistral-ocr | +| `PDF_TEXT` | pdf-text | +| `NATIVE` | native | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginautorouter.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginautorouter.md new file mode 100644 index 000000000..3a7ad4af5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginautorouter.md @@ -0,0 +1,10 @@ +# OpenResponsesRequestPluginAutoRouter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | [components.OpenResponsesRequestIDAutoRouter](../components/openresponsesrequestidautorouter.md) | :heavy_check_mark: | N/A | | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the auto-router plugin for this request. Defaults to true. | | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., "anthropic/*" matches all Anthropic models). When not specified, uses the default supported models list. | [
"anthropic/*",
"openai/gpt-4o",
"google/*"
] | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginfileparser.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginfileparser.md new file mode 100644 index 000000000..7f978dfa3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginfileparser.md @@ -0,0 +1,10 @@ +# OpenResponsesRequestPluginFileParser + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | [components.OpenResponsesRequestIDFileParser](../components/openresponsesrequestidfileparser.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the file-parser plugin for this request. Defaults to true. | +| `pdf` | [Optional[components.PDFParserOptions]](../components/pdfparseroptions.md) | :heavy_minus_sign: | Options for PDF parsing. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginmoderation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginmoderation.md new file mode 100644 index 000000000..d29983c62 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginmoderation.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestPluginModeration + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | [components.OpenResponsesRequestIDModeration](../components/openresponsesrequestidmoderation.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginresponsehealing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginresponsehealing.md new file mode 100644 index 000000000..5113dc82e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginresponsehealing.md @@ -0,0 +1,9 @@ +# OpenResponsesRequestPluginResponseHealing + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `id` | [components.OpenResponsesRequestIDResponseHealing](../components/openresponsesrequestidresponsehealing.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the response-healing plugin for this request. Defaults to true. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginunion.md new file mode 100644 index 000000000..e164b2ea1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginunion.md @@ -0,0 +1,35 @@ +# OpenResponsesRequestPluginUnion + + +## Supported Types + +### `components.OpenResponsesRequestPluginAutoRouter` + +```python +value: components.OpenResponsesRequestPluginAutoRouter = /* values here */ +``` + +### `components.OpenResponsesRequestPluginModeration` + +```python +value: components.OpenResponsesRequestPluginModeration = /* values here */ +``` + +### `components.OpenResponsesRequestPluginWeb` + +```python +value: components.OpenResponsesRequestPluginWeb = /* values here */ +``` + +### `components.OpenResponsesRequestPluginFileParser` + +```python +value: components.OpenResponsesRequestPluginFileParser = /* values here */ +``` + +### `components.OpenResponsesRequestPluginResponseHealing` + +```python +value: components.OpenResponsesRequestPluginResponseHealing = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginweb.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginweb.md new file mode 100644 index 000000000..d30804908 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestpluginweb.md @@ -0,0 +1,12 @@ +# OpenResponsesRequestPluginWeb + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | [components.OpenResponsesRequestIDWeb](../components/openresponsesrequestidweb.md) | :heavy_check_mark: | N/A | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the web-search plugin for this request. Defaults to true. | +| `max_results` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `search_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `engine` | [Optional[components.WebSearchEngine]](../components/websearchengine.md) | :heavy_minus_sign: | The search engine to use for web search. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestprovider.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestprovider.md new file mode 100644 index 000000000..5fde7815d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestprovider.md @@ -0,0 +1,22 @@ +# OpenResponsesRequestProvider + +When multiple model providers are available, optionally indicate your routing preference. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| | +| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. | | +| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection.md) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it

- deny: use only providers which do not collect user data. | allow | +| `zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used. | true | +| `enforce_distillable_text` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used. | true | +| `order` | List[[components.OpenResponsesRequestOrder](../components/openresponsesrequestorder.md)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | | +| `only` | List[[components.OpenResponsesRequestOnly](../components/openresponsesrequestonly.md)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | | +| `ignore` | List[[components.OpenResponsesRequestIgnore](../components/openresponsesrequestignore.md)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | | +| `quantizations` | List[[components.Quantization](../components/quantization.md)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | | +| `sort` | [OptionalNullable[components.OpenResponsesRequestSort]](../components/openresponsesrequestsort.md) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price | +| `max_price` | [Optional[components.OpenResponsesRequestMaxPrice]](../components/openresponsesrequestmaxprice.md) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | | +| `preferred_min_throughput` | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput.md) | :heavy_minus_sign: | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100 | +| `preferred_max_latency` | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency.md) | :heavy_minus_sign: | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 5 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestroute.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestroute.md new file mode 100644 index 000000000..9f33f3fc8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestroute.md @@ -0,0 +1,11 @@ +# OpenResponsesRequestRoute + +Routing strategy for multiple models: "fallback" (default) uses secondary models as backups, "sort" sorts all endpoints together by routing criteria. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FALLBACK` | fallback | +| `SORT` | sort | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestsort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestsort.md new file mode 100644 index 000000000..3fd9dc77d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequestsort.md @@ -0,0 +1,25 @@ +# OpenResponsesRequestSort + +The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. + + +## Supported Types + +### `components.ProviderSort` + +```python +value: components.ProviderSort = /* values here */ +``` + +### `components.ProviderSortConfig` + +```python +value: components.ProviderSortConfig = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolfunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolfunction.md new file mode 100644 index 000000000..cb137562e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolfunction.md @@ -0,0 +1,14 @@ +# OpenResponsesRequestToolFunction + +Function tool definition + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesRequestType](../components/openresponsesrequesttype.md) | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `parameters` | Dict[str, *Nullable[Any]*] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolunion.md new file mode 100644 index 000000000..d05f4d7c0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttoolunion.md @@ -0,0 +1,35 @@ +# OpenResponsesRequestToolUnion + + +## Supported Types + +### `components.OpenResponsesRequestToolFunction` + +```python +value: components.OpenResponsesRequestToolFunction = /* values here */ +``` + +### `components.OpenResponsesWebSearchPreviewTool` + +```python +value: components.OpenResponsesWebSearchPreviewTool = /* values here */ +``` + +### `components.OpenResponsesWebSearchPreview20250311Tool` + +```python +value: components.OpenResponsesWebSearchPreview20250311Tool = /* values here */ +``` + +### `components.OpenResponsesWebSearchTool` + +```python +value: components.OpenResponsesWebSearchTool = /* values here */ +``` + +### `components.OpenResponsesWebSearch20250826Tool` + +```python +value: components.OpenResponsesWebSearch20250826Tool = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttrace.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttrace.md new file mode 100644 index 000000000..150b9162b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttrace.md @@ -0,0 +1,15 @@ +# OpenResponsesRequestTrace + +Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `trace_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `trace_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `span_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `generation_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `parent_span_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttype.md new file mode 100644 index 000000000..629615db0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesrequesttype.md @@ -0,0 +1,8 @@ +# OpenResponsesRequestType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetext.md new file mode 100644 index 000000000..8199698f9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetext.md @@ -0,0 +1,11 @@ +# OpenResponsesResponseText + +Text output configuration including format and verbosity + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `format_` | [Optional[components.ResponseFormatTextConfig]](../components/responseformattextconfig.md) | :heavy_minus_sign: | Text response format configuration | {
"type": "text"
} | +| `verbosity` | [OptionalNullable[components.OpenResponsesResponseTextVerbosity]](../components/openresponsesresponsetextverbosity.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetextverbosity.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetextverbosity.md new file mode 100644 index 000000000..d7622e2d6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesresponsetextverbosity.md @@ -0,0 +1,10 @@ +# OpenResponsesResponseTextVerbosity + + +## Values + +| Name | Value | +| -------- | -------- | +| `HIGH` | high | +| `LOW` | low | +| `MEDIUM` | medium | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreamevent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreamevent.md new file mode 100644 index 000000000..bc0a98a36 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreamevent.md @@ -0,0 +1,169 @@ +# OpenResponsesStreamEvent + +Union of all possible event types emitted during response streaming + + +## Supported Types + +### `components.OpenResponsesStreamEventResponseCreated` + +```python +value: components.OpenResponsesStreamEventResponseCreated = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseInProgress` + +```python +value: components.OpenResponsesStreamEventResponseInProgress = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseCompleted` + +```python +value: components.OpenResponsesStreamEventResponseCompleted = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseIncomplete` + +```python +value: components.OpenResponsesStreamEventResponseIncomplete = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseFailed` + +```python +value: components.OpenResponsesStreamEventResponseFailed = /* values here */ +``` + +### `components.OpenResponsesErrorEvent` + +```python +value: components.OpenResponsesErrorEvent = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseOutputItemAdded` + +```python +value: components.OpenResponsesStreamEventResponseOutputItemAdded = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseOutputItemDone` + +```python +value: components.OpenResponsesStreamEventResponseOutputItemDone = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseContentPartAdded` + +```python +value: components.OpenResponsesStreamEventResponseContentPartAdded = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseContentPartDone` + +```python +value: components.OpenResponsesStreamEventResponseContentPartDone = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseOutputTextDelta` + +```python +value: components.OpenResponsesStreamEventResponseOutputTextDelta = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseOutputTextDone` + +```python +value: components.OpenResponsesStreamEventResponseOutputTextDone = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseRefusalDelta` + +```python +value: components.OpenResponsesStreamEventResponseRefusalDelta = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseRefusalDone` + +```python +value: components.OpenResponsesStreamEventResponseRefusalDone = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseOutputTextAnnotationAdded` + +```python +value: components.OpenResponsesStreamEventResponseOutputTextAnnotationAdded = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseFunctionCallArgumentsDelta` + +```python +value: components.OpenResponsesStreamEventResponseFunctionCallArgumentsDelta = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseFunctionCallArgumentsDone` + +```python +value: components.OpenResponsesStreamEventResponseFunctionCallArgumentsDone = /* values here */ +``` + +### `components.OpenResponsesReasoningDeltaEvent` + +```python +value: components.OpenResponsesReasoningDeltaEvent = /* values here */ +``` + +### `components.OpenResponsesReasoningDoneEvent` + +```python +value: components.OpenResponsesReasoningDoneEvent = /* values here */ +``` + +### `components.OpenResponsesReasoningSummaryPartAddedEvent` + +```python +value: components.OpenResponsesReasoningSummaryPartAddedEvent = /* values here */ +``` + +### `components.OpenResponsesStreamEventResponseReasoningSummaryPartDone` + +```python +value: components.OpenResponsesStreamEventResponseReasoningSummaryPartDone = /* values here */ +``` + +### `components.OpenResponsesReasoningSummaryTextDeltaEvent` + +```python +value: components.OpenResponsesReasoningSummaryTextDeltaEvent = /* values here */ +``` + +### `components.OpenResponsesReasoningSummaryTextDoneEvent` + +```python +value: components.OpenResponsesReasoningSummaryTextDoneEvent = /* values here */ +``` + +### `components.OpenResponsesImageGenCallInProgress` + +```python +value: components.OpenResponsesImageGenCallInProgress = /* values here */ +``` + +### `components.OpenResponsesImageGenCallGenerating` + +```python +value: components.OpenResponsesImageGenCallGenerating = /* values here */ +``` + +### `components.OpenResponsesImageGenCallPartialImage` + +```python +value: components.OpenResponsesImageGenCallPartialImage = /* values here */ +``` + +### `components.OpenResponsesImageGenCallCompleted` + +```python +value: components.OpenResponsesImageGenCallCompleted = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecompleted.md new file mode 100644 index 000000000..e67614528 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecompleted.md @@ -0,0 +1,12 @@ +# OpenResponsesStreamEventResponseCompleted + +Event emitted when a response has completed successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseCompleted](../components/typeresponsecompleted.md) | :heavy_check_mark: | N/A | | +| `response` | [components.OpenResponsesNonStreamingResponse](../components/openresponsesnonstreamingresponse.md) | :heavy_check_mark: | Complete non-streaming response from the Responses API | {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "completed",
"output": [
{
"type": "message",
"id": "msg-abc123",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null,
"metadata": null,
"instructions": null
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartadded.md new file mode 100644 index 000000000..0b56c6d78 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartadded.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseContentPartAdded + +Event emitted when a new content part is added to an output item + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseContentPartAdded](../components/typeresponsecontentpartadded.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `part` | [components.Part1](../components/part1.md) | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartdone.md new file mode 100644 index 000000000..5c6bc60e5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecontentpartdone.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseContentPartDone + +Event emitted when a content part is complete + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseContentPartDone](../components/typeresponsecontentpartdone.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `part` | [components.Part2](../components/part2.md) | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecreated.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecreated.md new file mode 100644 index 000000000..1a07bc769 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsecreated.md @@ -0,0 +1,12 @@ +# OpenResponsesStreamEventResponseCreated + +Event emitted when a response is created + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseCreated](../components/typeresponsecreated.md) | :heavy_check_mark: | N/A | | +| `response` | [components.OpenResponsesNonStreamingResponse](../components/openresponsesnonstreamingresponse.md) | :heavy_check_mark: | Complete non-streaming response from the Responses API | {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "completed",
"output": [
{
"type": "message",
"id": "msg-abc123",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null,
"metadata": null,
"instructions": null
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefailed.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefailed.md new file mode 100644 index 000000000..e27317469 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefailed.md @@ -0,0 +1,12 @@ +# OpenResponsesStreamEventResponseFailed + +Event emitted when a response has failed + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseFailed](../components/typeresponsefailed.md) | :heavy_check_mark: | N/A | | +| `response` | [components.OpenResponsesNonStreamingResponse](../components/openresponsesnonstreamingresponse.md) | :heavy_check_mark: | Complete non-streaming response from the Responses API | {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "completed",
"output": [
{
"type": "message",
"id": "msg-abc123",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null,
"metadata": null,
"instructions": null
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdelta.md new file mode 100644 index 000000000..601709aaa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdelta.md @@ -0,0 +1,14 @@ +# OpenResponsesStreamEventResponseFunctionCallArgumentsDelta + +Event emitted when function call arguments are being streamed + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `type` | [components.TypeResponseFunctionCallArgumentsDelta](../components/typeresponsefunctioncallargumentsdelta.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `delta` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdone.md new file mode 100644 index 000000000..2515ace76 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsefunctioncallargumentsdone.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseFunctionCallArgumentsDone + +Event emitted when function call arguments streaming is complete + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseFunctionCallArgumentsDone](../components/typeresponsefunctioncallargumentsdone.md) | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `arguments` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseincomplete.md new file mode 100644 index 000000000..f93968d7f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseincomplete.md @@ -0,0 +1,12 @@ +# OpenResponsesStreamEventResponseIncomplete + +Event emitted when a response is incomplete + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseIncomplete](../components/typeresponseincomplete.md) | :heavy_check_mark: | N/A | | +| `response` | [components.OpenResponsesNonStreamingResponse](../components/openresponsesnonstreamingresponse.md) | :heavy_check_mark: | Complete non-streaming response from the Responses API | {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "completed",
"output": [
{
"type": "message",
"id": "msg-abc123",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null,
"metadata": null,
"instructions": null
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseinprogress.md new file mode 100644 index 000000000..372d5a296 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseinprogress.md @@ -0,0 +1,12 @@ +# OpenResponsesStreamEventResponseInProgress + +Event emitted when a response is in progress + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseInProgress](../components/typeresponseinprogress.md) | :heavy_check_mark: | N/A | | +| `response` | [components.OpenResponsesNonStreamingResponse](../components/openresponsesnonstreamingresponse.md) | :heavy_check_mark: | Complete non-streaming response from the Responses API | {
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"model": "gpt-4",
"status": "completed",
"output": [
{
"type": "message",
"id": "msg-abc123",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 25,
"total_tokens": 35,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"error": null,
"incomplete_details": null,
"temperature": null,
"top_p": null,
"max_output_tokens": null,
"metadata": null,
"instructions": null
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemadded.md new file mode 100644 index 000000000..c9b357b0b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemadded.md @@ -0,0 +1,13 @@ +# OpenResponsesStreamEventResponseOutputItemAdded + +Event emitted when a new output item is added to the response + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseOutputItemAdded](../components/typeresponseoutputitemadded.md) | :heavy_check_mark: | N/A | | +| `output_index` | *float* | :heavy_check_mark: | N/A | | +| `item` | [components.ResponsesOutputItem](../components/responsesoutputitem.md) | :heavy_check_mark: | An output item from the response | {
"id": "msg-abc123",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?"
}
]
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemdone.md new file mode 100644 index 000000000..4355cc933 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputitemdone.md @@ -0,0 +1,13 @@ +# OpenResponsesStreamEventResponseOutputItemDone + +Event emitted when an output item is complete + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseOutputItemDone](../components/typeresponseoutputitemdone.md) | :heavy_check_mark: | N/A | | +| `output_index` | *float* | :heavy_check_mark: | N/A | | +| `item` | [components.ResponsesOutputItem](../components/responsesoutputitem.md) | :heavy_check_mark: | An output item from the response | {
"id": "msg-abc123",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you today?"
}
]
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextannotationadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextannotationadded.md new file mode 100644 index 000000000..7723df560 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextannotationadded.md @@ -0,0 +1,16 @@ +# OpenResponsesStreamEventResponseOutputTextAnnotationAdded + +Event emitted when a text annotation is added to output + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseOutputTextAnnotationAdded](../components/typeresponseoutputtextannotationadded.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | +| `annotation_index` | *float* | :heavy_check_mark: | N/A | +| `annotation` | [components.OpenAIResponsesAnnotation](../components/openairesponsesannotation.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdelta.md new file mode 100644 index 000000000..c2567ea13 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdelta.md @@ -0,0 +1,16 @@ +# OpenResponsesStreamEventResponseOutputTextDelta + +Event emitted when a text delta is streamed + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseOutputTextDelta](../components/typeresponseoutputtextdelta.md) | :heavy_check_mark: | N/A | +| `logprobs` | List[[components.OpenResponsesLogProbs](../components/openresponseslogprobs.md)] | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `delta` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdone.md new file mode 100644 index 000000000..eefdc293a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponseoutputtextdone.md @@ -0,0 +1,16 @@ +# OpenResponsesStreamEventResponseOutputTextDone + +Event emitted when text streaming is complete + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `type` | [components.TypeResponseOutputTextDone](../components/typeresponseoutputtextdone.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | +| `logprobs` | List[[components.OpenResponsesLogProbs](../components/openresponseslogprobs.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsereasoningsummarypartdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsereasoningsummarypartdone.md new file mode 100644 index 000000000..abfe881e6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponsereasoningsummarypartdone.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseReasoningSummaryPartDone + +Event emitted when a reasoning summary part is complete + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseReasoningSummaryPartDone](../components/typeresponsereasoningsummarypartdone.md) | :heavy_check_mark: | N/A | | +| `output_index` | *float* | :heavy_check_mark: | N/A | | +| `item_id` | *str* | :heavy_check_mark: | N/A | | +| `summary_index` | *float* | :heavy_check_mark: | N/A | | +| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext.md) | :heavy_check_mark: | N/A | {
"type": "summary_text",
"text": "Analyzed the problem using first principles"
} | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldelta.md new file mode 100644 index 000000000..c645c4e53 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldelta.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseRefusalDelta + +Event emitted when a refusal delta is streamed + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `type` | [components.TypeResponseRefusalDelta](../components/typeresponserefusaldelta.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `delta` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldone.md new file mode 100644 index 000000000..4ac3b11b4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesstreameventresponserefusaldone.md @@ -0,0 +1,15 @@ +# OpenResponsesStreamEventResponseRefusalDone + +Event emitted when refusal streaming is complete + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `type` | [components.TypeResponseRefusalDone](../components/typeresponserefusaldone.md) | :heavy_check_mark: | N/A | +| `output_index` | *float* | :heavy_check_mark: | N/A | +| `item_id` | *str* | :heavy_check_mark: | N/A | +| `content_index` | *float* | :heavy_check_mark: | N/A | +| `refusal` | *str* | :heavy_check_mark: | N/A | +| `sequence_number` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsestoplogprobs.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsestoplogprobs.md new file mode 100644 index 000000000..aa7d39bf9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsestoplogprobs.md @@ -0,0 +1,11 @@ +# OpenResponsesTopLogprobs + +Alternative token with its log probability + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `logprob` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesusage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesusage.md new file mode 100644 index 000000000..bab0ec3c3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponsesusage.md @@ -0,0 +1,17 @@ +# OpenResponsesUsage + +Token usage information for the response + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `input_tokens` | *float* | :heavy_check_mark: | N/A | +| `input_tokens_details` | [components.InputTokensDetails](../components/inputtokensdetails.md) | :heavy_check_mark: | N/A | +| `output_tokens` | *float* | :heavy_check_mark: | N/A | +| `output_tokens_details` | [components.OutputTokensDetails](../components/outputtokensdetails.md) | :heavy_check_mark: | N/A | +| `total_tokens` | *float* | :heavy_check_mark: | N/A | +| `cost` | *OptionalNullable[float]* | :heavy_minus_sign: | Cost of the completion | +| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether a request was made using a Bring Your Own Key configuration | +| `cost_details` | [Optional[components.CostDetails]](../components/costdetails.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tool.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tool.md new file mode 100644 index 000000000..8ba9326dd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tool.md @@ -0,0 +1,13 @@ +# OpenResponsesWebSearch20250826Tool + +Web search tool configuration (2025-08-26 version) + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesWebSearch20250826ToolType](../components/openresponseswebsearch20250826tooltype.md) | :heavy_check_mark: | N/A | | +| `filters` | [OptionalNullable[components.OpenResponsesWebSearch20250826ToolFilters]](../components/openresponseswebsearch20250826toolfilters.md) | :heavy_minus_sign: | N/A | | +| `search_context_size` | [Optional[components.ResponsesSearchContextSize]](../components/responsessearchcontextsize.md) | :heavy_minus_sign: | Size of the search context for web search tools | medium | +| `user_location` | [OptionalNullable[components.ResponsesWebSearchUserLocation]](../components/responseswebsearchuserlocation.md) | :heavy_minus_sign: | User location information for web search | {
"type": "approximate",
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826toolfilters.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826toolfilters.md new file mode 100644 index 000000000..58c6a3bb3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826toolfilters.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearch20250826ToolFilters + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `allowed_domains` | List[*str*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tooltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tooltype.md new file mode 100644 index 000000000..e454c711a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearch20250826tooltype.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearch20250826ToolType + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `WEB_SEARCH_2025_08_26` | web_search_2025_08_26 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tool.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tool.md new file mode 100644 index 000000000..1b63f77d8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tool.md @@ -0,0 +1,12 @@ +# OpenResponsesWebSearchPreview20250311Tool + +Web search preview tool configuration (2025-03-11 version) + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesWebSearchPreview20250311ToolType](../components/openresponseswebsearchpreview20250311tooltype.md) | :heavy_check_mark: | N/A | | +| `search_context_size` | [Optional[components.ResponsesSearchContextSize]](../components/responsessearchcontextsize.md) | :heavy_minus_sign: | Size of the search context for web search tools | medium | +| `user_location` | [OptionalNullable[components.WebSearchPreviewToolUserLocation]](../components/websearchpreviewtooluserlocation.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tooltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tooltype.md new file mode 100644 index 000000000..25fec3148 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreview20250311tooltype.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearchPreview20250311ToolType + + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `WEB_SEARCH_PREVIEW_2025_03_11` | web_search_preview_2025_03_11 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtool.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtool.md new file mode 100644 index 000000000..67b7a4fb4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtool.md @@ -0,0 +1,12 @@ +# OpenResponsesWebSearchPreviewTool + +Web search preview tool configuration + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.OpenResponsesWebSearchPreviewToolType](../components/openresponseswebsearchpreviewtooltype.md) | :heavy_check_mark: | N/A | | +| `search_context_size` | [Optional[components.ResponsesSearchContextSize]](../components/responsessearchcontextsize.md) | :heavy_minus_sign: | Size of the search context for web search tools | medium | +| `user_location` | [OptionalNullable[components.WebSearchPreviewToolUserLocation]](../components/websearchpreviewtooluserlocation.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtooltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtooltype.md new file mode 100644 index 000000000..e4df86785 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchpreviewtooltype.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearchPreviewToolType + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `WEB_SEARCH_PREVIEW` | web_search_preview | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtool.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtool.md new file mode 100644 index 000000000..94eeb6037 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtool.md @@ -0,0 +1,13 @@ +# OpenResponsesWebSearchTool + +Web search tool configuration + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.OpenResponsesWebSearchToolType](../components/openresponseswebsearchtooltype.md) | :heavy_check_mark: | N/A | | +| `filters` | [OptionalNullable[components.OpenResponsesWebSearchToolFilters]](../components/openresponseswebsearchtoolfilters.md) | :heavy_minus_sign: | N/A | | +| `search_context_size` | [Optional[components.ResponsesSearchContextSize]](../components/responsessearchcontextsize.md) | :heavy_minus_sign: | Size of the search context for web search tools | medium | +| `user_location` | [OptionalNullable[components.ResponsesWebSearchUserLocation]](../components/responseswebsearchuserlocation.md) | :heavy_minus_sign: | User location information for web search | {
"type": "approximate",
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtoolfilters.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtoolfilters.md new file mode 100644 index 000000000..25284095c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtoolfilters.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearchToolFilters + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `allowed_domains` | List[*str*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtooltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtooltype.md new file mode 100644 index 000000000..d107d4147 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/openresponseswebsearchtooltype.md @@ -0,0 +1,8 @@ +# OpenResponsesWebSearchToolType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `WEB_SEARCH` | web_search | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/order.md b/.github/skills/openrouter-python-sdk/references/documentation/other/order.md new file mode 100644 index 000000000..b0e21fa3c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/order.md @@ -0,0 +1,17 @@ +# Order + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcall.md new file mode 100644 index 000000000..125c36320 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcall.md @@ -0,0 +1,11 @@ +# OutputItemImageGenerationCall + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `type` | [components.OutputItemImageGenerationCallType](../components/outputitemimagegenerationcalltype.md) | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `result` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus.md) | :heavy_check_mark: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcalltype.md new file mode 100644 index 000000000..d9e663fca --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputitemimagegenerationcalltype.md @@ -0,0 +1,8 @@ +# OutputItemImageGenerationCallType + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `IMAGE_GENERATION_CALL` | image_generation_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessage.md new file mode 100644 index 000000000..4ce0ea9b1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessage.md @@ -0,0 +1,12 @@ +# OutputMessage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `role` | [components.OutputMessageRole](../components/outputmessagerole.md) | :heavy_check_mark: | N/A | +| `type` | [components.OutputMessageType](../components/outputmessagetype.md) | :heavy_check_mark: | N/A | +| `status` | [Optional[components.OutputMessageStatusUnion]](../components/outputmessagestatusunion.md) | :heavy_minus_sign: | N/A | +| `content` | List[[components.OutputMessageContent](../components/outputmessagecontent.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagecontent.md new file mode 100644 index 000000000..d8ae814dd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagecontent.md @@ -0,0 +1,17 @@ +# OutputMessageContent + + +## Supported Types + +### `components.ResponseOutputText` + +```python +value: components.ResponseOutputText = /* values here */ +``` + +### `components.OpenAIResponsesRefusalContent` + +```python +value: components.OpenAIResponsesRefusalContent = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagerole.md new file mode 100644 index 000000000..21b161672 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagerole.md @@ -0,0 +1,8 @@ +# OutputMessageRole + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatuscompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatuscompleted.md new file mode 100644 index 000000000..2b0254b54 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatuscompleted.md @@ -0,0 +1,8 @@ +# OutputMessageStatusCompleted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COMPLETED` | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusincomplete.md new file mode 100644 index 000000000..3146b10a8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusincomplete.md @@ -0,0 +1,8 @@ +# OutputMessageStatusIncomplete + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusinprogress.md new file mode 100644 index 000000000..eb31df436 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusinprogress.md @@ -0,0 +1,8 @@ +# OutputMessageStatusInProgress + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusunion.md new file mode 100644 index 000000000..6dae9adf1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagestatusunion.md @@ -0,0 +1,23 @@ +# OutputMessageStatusUnion + + +## Supported Types + +### `components.OutputMessageStatusCompleted` + +```python +value: components.OutputMessageStatusCompleted = /* values here */ +``` + +### `components.OutputMessageStatusIncomplete` + +```python +value: components.OutputMessageStatusIncomplete = /* values here */ +``` + +### `components.OutputMessageStatusInProgress` + +```python +value: components.OutputMessageStatusInProgress = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagetype.md new file mode 100644 index 000000000..acbedfe1a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmessagetype.md @@ -0,0 +1,8 @@ +# OutputMessageType + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputmodality.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmodality.md new file mode 100644 index 000000000..160127644 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputmodality.md @@ -0,0 +1,11 @@ +# OutputModality + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `TEXT` | text | +| `IMAGE` | image | +| `EMBEDDINGS` | embeddings | +| `AUDIO` | audio | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/outputtokensdetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/outputtokensdetails.md new file mode 100644 index 000000000..430d40b25 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/outputtokensdetails.md @@ -0,0 +1,8 @@ +# OutputTokensDetails + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `reasoning_tokens` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/parameter.md b/.github/skills/openrouter-python-sdk/references/documentation/other/parameter.md new file mode 100644 index 000000000..b638d09ad --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/parameter.md @@ -0,0 +1,31 @@ +# Parameter + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `TEMPERATURE` | temperature | +| `TOP_P` | top_p | +| `TOP_K` | top_k | +| `MIN_P` | min_p | +| `TOP_A` | top_a | +| `FREQUENCY_PENALTY` | frequency_penalty | +| `PRESENCE_PENALTY` | presence_penalty | +| `REPETITION_PENALTY` | repetition_penalty | +| `MAX_TOKENS` | max_tokens | +| `LOGIT_BIAS` | logit_bias | +| `LOGPROBS` | logprobs | +| `TOP_LOGPROBS` | top_logprobs | +| `SEED` | seed | +| `RESPONSE_FORMAT` | response_format | +| `STRUCTURED_OUTPUTS` | structured_outputs | +| `STOP` | stop | +| `TOOLS` | tools | +| `TOOL_CHOICE` | tool_choice | +| `PARALLEL_TOOL_CALLS` | parallel_tool_calls | +| `INCLUDE_REASONING` | include_reasoning | +| `REASONING` | reasoning | +| `REASONING_EFFORT` | reasoning_effort | +| `WEB_SEARCH_OPTIONS` | web_search_options | +| `VERBOSITY` | verbosity | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/part1.md b/.github/skills/openrouter-python-sdk/references/documentation/other/part1.md new file mode 100644 index 000000000..263bf748a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/part1.md @@ -0,0 +1,23 @@ +# Part1 + + +## Supported Types + +### `components.ResponseOutputText` + +```python +value: components.ResponseOutputText = /* values here */ +``` + +### `components.ReasoningTextContent` + +```python +value: components.ReasoningTextContent = /* values here */ +``` + +### `components.OpenAIResponsesRefusalContent` + +```python +value: components.OpenAIResponsesRefusalContent = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/part2.md b/.github/skills/openrouter-python-sdk/references/documentation/other/part2.md new file mode 100644 index 000000000..37c9d6f00 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/part2.md @@ -0,0 +1,23 @@ +# Part2 + + +## Supported Types + +### `components.ResponseOutputText` + +```python +value: components.ResponseOutputText = /* values here */ +``` + +### `components.ReasoningTextContent` + +```python +value: components.ReasoningTextContent = /* values here */ +``` + +### `components.OpenAIResponsesRefusalContent` + +```python +value: components.OpenAIResponsesRefusalContent = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/partition.md b/.github/skills/openrouter-python-sdk/references/documentation/other/partition.md new file mode 100644 index 000000000..4f49e4160 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/partition.md @@ -0,0 +1,11 @@ +# Partition + +Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. + + +## Values + +| Name | Value | +| ------- | ------- | +| `MODEL` | model | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerror.md new file mode 100644 index 000000000..322cefe3a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerror.md @@ -0,0 +1,11 @@ +# PayloadTooLargeResponseError + +Payload Too Large - Request payload exceeds size limits + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `error` | [components.PayloadTooLargeResponseErrorData](../components/payloadtoolargeresponseerrordata.md) | :heavy_check_mark: | Error data for PayloadTooLargeResponse | {
"code": 413,
"message": "Request payload too large"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerrordata.md new file mode 100644 index 000000000..197ba50a7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/payloadtoolargeresponseerrordata.md @@ -0,0 +1,12 @@ +# PayloadTooLargeResponseErrorData + +Error data for PayloadTooLargeResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerror.md new file mode 100644 index 000000000..1cf4c3f8a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerror.md @@ -0,0 +1,11 @@ +# PaymentRequiredResponseError + +Payment Required - Insufficient credits or quota to complete request + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `error` | [components.PaymentRequiredResponseErrorData](../components/paymentrequiredresponseerrordata.md) | :heavy_check_mark: | Error data for PaymentRequiredResponse | {
"code": 402,
"message": "Insufficient credits. Add more using https://openrouter.ai/credits"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerrordata.md new file mode 100644 index 000000000..e083b1f4b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/paymentrequiredresponseerrordata.md @@ -0,0 +1,12 @@ +# PaymentRequiredResponseErrorData + +Error data for PaymentRequiredResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparserengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparserengine.md new file mode 100644 index 000000000..8d3c25c80 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparserengine.md @@ -0,0 +1,12 @@ +# PDFParserEngine + +The engine to use for parsing PDF files. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MISTRAL_OCR` | mistral-ocr | +| `PDF_TEXT` | pdf-text | +| `NATIVE` | native | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparseroptions.md b/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparseroptions.md new file mode 100644 index 000000000..3718a3db9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/pdfparseroptions.md @@ -0,0 +1,10 @@ +# PDFParserOptions + +Options for PDF parsing. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `engine` | [Optional[components.PDFParserEngine]](../components/pdfparserengine.md) | :heavy_minus_sign: | The engine to use for parsing PDF files. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/percentilelatencycutoffs.md b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilelatencycutoffs.md new file mode 100644 index 000000000..6a2c04f7d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilelatencycutoffs.md @@ -0,0 +1,13 @@ +# PercentileLatencyCutoffs + +Percentile-based latency cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `p50` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum p50 latency (seconds) | +| `p75` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum p75 latency (seconds) | +| `p90` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum p90 latency (seconds) | +| `p99` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum p99 latency (seconds) | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/percentilestats.md b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilestats.md new file mode 100644 index 000000000..6f4743168 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilestats.md @@ -0,0 +1,13 @@ +# PercentileStats + +Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `p50` | *float* | :heavy_check_mark: | Median (50th percentile) | 25.5 | +| `p75` | *float* | :heavy_check_mark: | 75th percentile | 35.2 | +| `p90` | *float* | :heavy_check_mark: | 90th percentile | 48.7 | +| `p99` | *float* | :heavy_check_mark: | 99th percentile | 85.3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/percentilethroughputcutoffs.md b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilethroughputcutoffs.md new file mode 100644 index 000000000..dff209d8c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/percentilethroughputcutoffs.md @@ -0,0 +1,13 @@ +# PercentileThroughputCutoffs + +Percentile-based throughput cutoffs. All specified cutoffs must be met for an endpoint to be preferred. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `p50` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum p50 throughput (tokens/sec) | +| `p75` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum p75 throughput (tokens/sec) | +| `p90` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum p90 throughput (tokens/sec) | +| `p99` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum p99 throughput (tokens/sec) | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/perrequestlimits.md b/.github/skills/openrouter-python-sdk/references/documentation/other/perrequestlimits.md new file mode 100644 index 000000000..607ebc6c7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/perrequestlimits.md @@ -0,0 +1,11 @@ +# PerRequestLimits + +Per-request token limits + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `prompt_tokens` | *float* | :heavy_check_mark: | Maximum prompt tokens per request | 1000 | +| `completion_tokens` | *float* | :heavy_check_mark: | Maximum completion tokens per request | 1000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/preferredmaxlatency.md b/.github/skills/openrouter-python-sdk/references/documentation/other/preferredmaxlatency.md new file mode 100644 index 000000000..ce96e64f8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/preferredmaxlatency.md @@ -0,0 +1,25 @@ +# PreferredMaxLatency + +Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. + + +## Supported Types + +### `float` + +```python +value: float = /* values here */ +``` + +### `components.PercentileLatencyCutoffs` + +```python +value: components.PercentileLatencyCutoffs = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/preferredminthroughput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/preferredminthroughput.md new file mode 100644 index 000000000..fd49bf88b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/preferredminthroughput.md @@ -0,0 +1,25 @@ +# PreferredMinThroughput + +Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. + + +## Supported Types + +### `float` + +```python +value: float = /* values here */ +``` + +### `components.PercentileThroughputCutoffs` + +```python +value: components.PercentileThroughputCutoffs = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/pricing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/pricing.md new file mode 100644 index 000000000..a997dda76 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/pricing.md @@ -0,0 +1,21 @@ +# Pricing + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | +| `prompt` | *str* | :heavy_check_mark: | N/A | 1000 | +| `completion` | *str* | :heavy_check_mark: | N/A | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image_token` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `web_search` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `discount` | *Optional[float]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/prompttokensdetails.md b/.github/skills/openrouter-python-sdk/references/documentation/other/prompttokensdetails.md new file mode 100644 index 000000000..a929f8769 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/prompttokensdetails.md @@ -0,0 +1,13 @@ +# PromptTokensDetails + +Detailed prompt token usage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `cached_tokens` | *Optional[float]* | :heavy_minus_sign: | Cached prompt tokens | +| `cache_write_tokens` | *Optional[float]* | :heavy_minus_sign: | Tokens written to cache. Only returned for models with explicit caching and cache write pricing. | +| `audio_tokens` | *Optional[float]* | :heavy_minus_sign: | Audio input tokens | +| `video_tokens` | *Optional[float]* | :heavy_minus_sign: | Video input tokens | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providername.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providername.md new file mode 100644 index 000000000..86b88ca2b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providername.md @@ -0,0 +1,109 @@ +# ProviderName + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `ANY_SCALE` | AnyScale | +| `ATOMA` | Atoma | +| `CENT_ML` | Cent-ML | +| `CROF_AI` | CrofAI | +| `ENFER` | Enfer | +| `GO_POMELO` | GoPomelo | +| `HUGGING_FACE` | HuggingFace | +| `HYPERBOLIC_2` | Hyperbolic 2 | +| `INO_CLOUD` | InoCloud | +| `KLUSTER` | Kluster | +| `LAMBDA` | Lambda | +| `LEPTON` | Lepton | +| `LYNN_2` | Lynn 2 | +| `LYNN` | Lynn | +| `MANCER` | Mancer | +| `META` | Meta | +| `MODAL` | Modal | +| `NINETEEN` | Nineteen | +| `OCTO_AI` | OctoAI | +| `RECURSAL` | Recursal | +| `REFLECTION` | Reflection | +| `REPLICATE` | Replicate | +| `SAMBA_NOVA_2` | SambaNova 2 | +| `SF_COMPUTE` | SF Compute | +| `TARGON` | Targon | +| `TOGETHER_2` | Together 2 | +| `UBICLOUD` | Ubicloud | +| `ONE_DOT_AI` | 01.AI | +| `AI21` | AI21 | +| `AION_LABS` | AionLabs | +| `ALIBABA` | Alibaba | +| `AMBIENT` | Ambient | +| `AMAZON_BEDROCK` | Amazon Bedrock | +| `AMAZON_NOVA` | Amazon Nova | +| `ANTHROPIC` | Anthropic | +| `ARCEE_AI` | Arcee AI | +| `ATLAS_CLOUD` | AtlasCloud | +| `AVIAN` | Avian | +| `AZURE` | Azure | +| `BASE_TEN` | BaseTen | +| `BYTE_PLUS` | BytePlus | +| `BLACK_FOREST_LABS` | Black Forest Labs | +| `CEREBRAS` | Cerebras | +| `CHUTES` | Chutes | +| `CIRRASCALE` | Cirrascale | +| `CLARIFAI` | Clarifai | +| `CLOUDFLARE` | Cloudflare | +| `COHERE` | Cohere | +| `CRUSOE` | Crusoe | +| `DEEP_INFRA` | DeepInfra | +| `DEEP_SEEK` | DeepSeek | +| `FEATHERLESS` | Featherless | +| `FIREWORKS` | Fireworks | +| `FRIENDLI` | Friendli | +| `GMI_CLOUD` | GMICloud | +| `GOOGLE` | Google | +| `GOOGLE_AI_STUDIO` | Google AI Studio | +| `GROQ` | Groq | +| `HYPERBOLIC` | Hyperbolic | +| `INCEPTION` | Inception | +| `INCEPTRON` | Inceptron | +| `INFERENCE_NET` | InferenceNet | +| `IONSTREAM` | Ionstream | +| `INFERMATIC` | Infermatic | +| `IO_NET` | Io Net | +| `INFLECTION` | Inflection | +| `LIQUID` | Liquid | +| `MARA` | Mara | +| `MANCER_2` | Mancer 2 | +| `MINIMAX` | Minimax | +| `MODEL_RUN` | ModelRun | +| `MISTRAL` | Mistral | +| `MODULAR` | Modular | +| `MOONSHOT_AI` | Moonshot AI | +| `MORPH` | Morph | +| `N_COMPASS` | NCompass | +| `NEBIUS` | Nebius | +| `NEXT_BIT` | NextBit | +| `NOVITA` | Novita | +| `NVIDIA` | Nvidia | +| `OPEN_AI` | OpenAI | +| `OPEN_INFERENCE` | OpenInference | +| `PARASAIL` | Parasail | +| `PERPLEXITY` | Perplexity | +| `PHALA` | Phala | +| `RELACE` | Relace | +| `SAMBA_NOVA` | SambaNova | +| `SEED` | Seed | +| `SILICON_FLOW` | SiliconFlow | +| `SOURCEFUL` | Sourceful | +| `STEP_FUN` | StepFun | +| `STEALTH` | Stealth | +| `STREAM_LAKE` | StreamLake | +| `SWITCHPOINT` | Switchpoint | +| `TOGETHER` | Together | +| `UPSTAGE` | Upstage | +| `VENICE` | Venice | +| `WAND_B` | WandB | +| `XIAOMI` | Xiaomi | +| `X_AI` | xAI | +| `Z_AI` | Z.AI | +| `FAKE_PROVIDER` | FakeProvider | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerror.md new file mode 100644 index 000000000..9eff48831 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerror.md @@ -0,0 +1,11 @@ +# ProviderOverloadedResponseError + +Provider Overloaded - Provider is temporarily overloaded + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `error` | [components.ProviderOverloadedResponseErrorData](../components/provideroverloadedresponseerrordata.md) | :heavy_check_mark: | Error data for ProviderOverloadedResponse | {
"code": 529,
"message": "Provider returned error"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerrordata.md new file mode 100644 index 000000000..afebc305b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/provideroverloadedresponseerrordata.md @@ -0,0 +1,12 @@ +# ProviderOverloadedResponseErrorData + +Error data for ProviderOverloadedResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferences.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferences.md new file mode 100644 index 000000000..c95276b63 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferences.md @@ -0,0 +1,22 @@ +# ProviderPreferences + +Provider routing preferences for the request. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| | +| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. | | +| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection.md) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it

- deny: use only providers which do not collect user data. | allow | +| `zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used. | true | +| `enforce_distillable_text` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used. | true | +| `order` | List[[components.ProviderPreferencesOrder](../components/providerpreferencesorder.md)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | | +| `only` | List[[components.ProviderPreferencesOnly](../components/providerpreferencesonly.md)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | | +| `ignore` | List[[components.ProviderPreferencesIgnore](../components/providerpreferencesignore.md)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | | +| `quantizations` | List[[components.Quantization](../components/quantization.md)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | | +| `sort` | [OptionalNullable[components.ProviderPreferencesSortUnion]](../components/providerpreferencessortunion.md) | :heavy_minus_sign: | N/A | price | +| `max_price` | [Optional[components.ProviderPreferencesMaxPrice]](../components/providerpreferencesmaxprice.md) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | | +| `preferred_min_throughput` | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput.md) | :heavy_minus_sign: | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100 | +| `preferred_max_latency` | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency.md) | :heavy_minus_sign: | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 5 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesby.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesby.md new file mode 100644 index 000000000..3202834d9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesby.md @@ -0,0 +1,12 @@ +# ProviderPreferencesBy + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesignore.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesignore.md new file mode 100644 index 000000000..2d18b7075 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesignore.md @@ -0,0 +1,17 @@ +# ProviderPreferencesIgnore + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesmaxprice.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesmaxprice.md new file mode 100644 index 000000000..fb1487217 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesmaxprice.md @@ -0,0 +1,14 @@ +# ProviderPreferencesMaxPrice + +The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `prompt` | *Optional[str]* | :heavy_minus_sign: | Price per million prompt tokens | 1000 | +| `completion` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesonly.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesonly.md new file mode 100644 index 000000000..be68765de --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesonly.md @@ -0,0 +1,17 @@ +# ProviderPreferencesOnly + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesorder.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesorder.md new file mode 100644 index 000000000..ccc7218a4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesorder.md @@ -0,0 +1,17 @@ +# ProviderPreferencesOrder + + +## Supported Types + +### `components.ProviderName` + +```python +value: components.ProviderName = /* values here */ +``` + +### `str` + +```python +value: str = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencespartition.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencespartition.md new file mode 100644 index 000000000..147aefe4d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencespartition.md @@ -0,0 +1,11 @@ +# ProviderPreferencesPartition + +Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. + + +## Values + +| Name | Value | +| ------- | ------- | +| `MODEL` | model | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersort.md new file mode 100644 index 000000000..396da799e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersort.md @@ -0,0 +1,12 @@ +# ProviderPreferencesProviderSort + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfig.md new file mode 100644 index 000000000..95e5f0566 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfig.md @@ -0,0 +1,9 @@ +# ProviderPreferencesProviderSortConfig + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `by` | [OptionalNullable[components.ProviderPreferencesBy]](../components/providerpreferencesby.md) | :heavy_minus_sign: | The provider sorting strategy (price, throughput, latency) | price | +| `partition` | [OptionalNullable[components.ProviderPreferencesPartition]](../components/providerpreferencespartition.md) | :heavy_minus_sign: | Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. | model | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigenum.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigenum.md new file mode 100644 index 000000000..12ef73b05 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigenum.md @@ -0,0 +1,10 @@ +# ProviderPreferencesProviderSortConfigEnum + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigunion.md new file mode 100644 index 000000000..3b811f716 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencesprovidersortconfigunion.md @@ -0,0 +1,17 @@ +# ProviderPreferencesProviderSortConfigUnion + + +## Supported Types + +### `components.ProviderPreferencesProviderSortConfig` + +```python +value: components.ProviderPreferencesProviderSortConfig = /* values here */ +``` + +### `components.ProviderPreferencesProviderSortConfigEnum` + +```python +value: components.ProviderPreferencesProviderSortConfigEnum = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortenum.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortenum.md new file mode 100644 index 000000000..4b608c9c6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortenum.md @@ -0,0 +1,10 @@ +# ProviderPreferencesSortEnum + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortunion.md new file mode 100644 index 000000000..172baacba --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerpreferencessortunion.md @@ -0,0 +1,25 @@ +# ProviderPreferencesSortUnion + +The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. + + +## Supported Types + +### `components.ProviderPreferencesProviderSort` + +```python +value: components.ProviderPreferencesProviderSort = /* values here */ +``` + +### `components.ProviderPreferencesProviderSortConfigUnion` + +```python +value: components.ProviderPreferencesProviderSortConfigUnion = /* values here */ +``` + +### `components.ProviderPreferencesSortEnum` + +```python +value: components.ProviderPreferencesSortEnum = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providerresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providerresponse.md new file mode 100644 index 000000000..cd0f8fb17 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providerresponse.md @@ -0,0 +1,14 @@ +# ProviderResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `endpoint_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `model_permaslug` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `provider_name` | [Optional[operations.ProviderName]](../operations/providername.md) | :heavy_minus_sign: | N/A | +| `status` | *Nullable[float]* | :heavy_check_mark: | N/A | +| `latency` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providersort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providersort.md new file mode 100644 index 000000000..ca5b358c8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providersort.md @@ -0,0 +1,12 @@ +# ProviderSort + +The provider sorting strategy (price, throughput, latency) + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/providersortconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/providersortconfig.md new file mode 100644 index 000000000..70db18a3a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/providersortconfig.md @@ -0,0 +1,11 @@ +# ProviderSortConfig + +The provider sorting strategy (price, throughput, latency) + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `by` | [OptionalNullable[components.By]](../components/by.md) | :heavy_minus_sign: | The provider sorting strategy (price, throughput, latency) | price | +| `partition` | [OptionalNullable[components.Partition]](../components/partition.md) | :heavy_minus_sign: | Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. | model | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpoint.md b/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpoint.md new file mode 100644 index 000000000..147ff5198 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpoint.md @@ -0,0 +1,25 @@ +# PublicEndpoint + +Information about a specific model endpoint + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | N/A | | +| `model_id` | *str* | :heavy_check_mark: | The unique identifier for the model (permaslug) | openai/gpt-4 | +| `model_name` | *str* | :heavy_check_mark: | N/A | | +| `context_length` | *float* | :heavy_check_mark: | N/A | | +| `pricing` | [components.Pricing](../components/pricing.md) | :heavy_check_mark: | N/A | | +| `provider_name` | [components.ProviderName](../components/providername.md) | :heavy_check_mark: | N/A | OpenAI | +| `tag` | *str* | :heavy_check_mark: | N/A | | +| `quantization` | [Nullable[components.PublicEndpointQuantization]](../components/publicendpointquantization.md) | :heavy_check_mark: | N/A | fp16 | +| `max_completion_tokens` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `max_prompt_tokens` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `supported_parameters` | List[[components.Parameter](../components/parameter.md)] | :heavy_check_mark: | N/A | | +| `status` | [Optional[components.EndpointStatus]](../components/endpointstatus.md) | :heavy_minus_sign: | N/A | 0 | +| `uptime_last_30m` | *Nullable[float]* | :heavy_check_mark: | N/A | | +| `supports_implicit_caching` | *bool* | :heavy_check_mark: | N/A | | +| `latency_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats.md) | :heavy_check_mark: | Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. | | +| `throughput_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpointquantization.md b/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpointquantization.md new file mode 100644 index 000000000..7d0edd22d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/publicendpointquantization.md @@ -0,0 +1,16 @@ +# PublicEndpointQuantization + + +## Values + +| Name | Value | +| --------- | --------- | +| `INT4` | int4 | +| `INT8` | int8 | +| `FP4` | fp4 | +| `FP6` | fp6 | +| `FP8` | fp8 | +| `FP16` | fp16 | +| `BF16` | bf16 | +| `FP32` | fp32 | +| `UNKNOWN` | unknown | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/publicpricing.md b/.github/skills/openrouter-python-sdk/references/documentation/other/publicpricing.md new file mode 100644 index 000000000..c7ac704cd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/publicpricing.md @@ -0,0 +1,23 @@ +# PublicPricing + +Pricing information for the model + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | +| `prompt` | *str* | :heavy_check_mark: | N/A | 1000 | +| `completion` | *str* | :heavy_check_mark: | N/A | 1000 | +| `request` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image_token` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `image_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `audio_output` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_audio_cache` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `web_search` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_cache_read` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | N/A | 1000 | +| `discount` | *Optional[float]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/quantization.md b/.github/skills/openrouter-python-sdk/references/documentation/other/quantization.md new file mode 100644 index 000000000..7a0574a89 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/quantization.md @@ -0,0 +1,16 @@ +# Quantization + + +## Values + +| Name | Value | +| --------- | --------- | +| `INT4` | int4 | +| `INT8` | int8 | +| `FP4` | fp4 | +| `FP6` | fp6 | +| `FP8` | fp8 | +| `FP16` | fp16 | +| `BF16` | bf16 | +| `FP32` | fp32 | +| `UNKNOWN` | unknown | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/ratelimit.md b/.github/skills/openrouter-python-sdk/references/documentation/other/ratelimit.md new file mode 100644 index 000000000..635db2a1f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/ratelimit.md @@ -0,0 +1,14 @@ +# ~~RateLimit~~ + +Legacy rate limit information about a key. Will always return -1. + +> :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `requests` | *float* | :heavy_check_mark: | Number of requests allowed per interval | 1000 | +| `interval` | *str* | :heavy_check_mark: | Rate limit interval | 1h | +| `note` | *str* | :heavy_check_mark: | Note about the rate limit | This field is deprecated and safe to ignore. | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reason.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reason.md new file mode 100644 index 000000000..1c21d0457 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reason.md @@ -0,0 +1,9 @@ +# Reason + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `MAX_OUTPUT_TOKENS` | max_output_tokens | +| `CONTENT_FILTER` | content_filter | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoning.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoning.md new file mode 100644 index 000000000..0a8755d71 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoning.md @@ -0,0 +1,11 @@ +# Reasoning + +Configuration options for reasoning models + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `effort` | [OptionalNullable[components.Effort]](../components/effort.md) | :heavy_minus_sign: | Constrains effort on reasoning for reasoning models | medium | +| `summary` | *OptionalNullable[Any]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencrypted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencrypted.md new file mode 100644 index 000000000..685b2f452 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencrypted.md @@ -0,0 +1,14 @@ +# ReasoningDetailEncrypted + +Reasoning detail encrypted schema + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [components.ReasoningDetailEncryptedType](../components/reasoningdetailencryptedtype.md) | :heavy_check_mark: | N/A | +| `data` | *str* | :heavy_check_mark: | N/A | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `format_` | [OptionalNullable[components.ReasoningDetailEncryptedFormat]](../components/reasoningdetailencryptedformat.md) | :heavy_minus_sign: | N/A | +| `index` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedformat.md new file mode 100644 index 000000000..5648e15b2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedformat.md @@ -0,0 +1,13 @@ +# ReasoningDetailEncryptedFormat + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `UNKNOWN` | unknown | +| `OPENAI_RESPONSES_V1` | openai-responses-v1 | +| `AZURE_OPENAI_RESPONSES_V1` | azure-openai-responses-v1 | +| `XAI_RESPONSES_V1` | xai-responses-v1 | +| `ANTHROPIC_CLAUDE_V1` | anthropic-claude-v1 | +| `GOOGLE_GEMINI_V1` | google-gemini-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedtype.md new file mode 100644 index 000000000..c57445375 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailencryptedtype.md @@ -0,0 +1,8 @@ +# ReasoningDetailEncryptedType + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `REASONING_ENCRYPTED` | reasoning.encrypted | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummary.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummary.md new file mode 100644 index 000000000..33fcfdf8a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummary.md @@ -0,0 +1,14 @@ +# ReasoningDetailSummary + +Reasoning detail summary schema + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.ReasoningDetailSummaryType](../components/reasoningdetailsummarytype.md) | :heavy_check_mark: | N/A | +| `summary` | *str* | :heavy_check_mark: | N/A | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `format_` | [OptionalNullable[components.ReasoningDetailSummaryFormat]](../components/reasoningdetailsummaryformat.md) | :heavy_minus_sign: | N/A | +| `index` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummaryformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummaryformat.md new file mode 100644 index 000000000..2eae73732 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummaryformat.md @@ -0,0 +1,13 @@ +# ReasoningDetailSummaryFormat + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `UNKNOWN` | unknown | +| `OPENAI_RESPONSES_V1` | openai-responses-v1 | +| `AZURE_OPENAI_RESPONSES_V1` | azure-openai-responses-v1 | +| `XAI_RESPONSES_V1` | xai-responses-v1 | +| `ANTHROPIC_CLAUDE_V1` | anthropic-claude-v1 | +| `GOOGLE_GEMINI_V1` | google-gemini-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummarytype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummarytype.md new file mode 100644 index 000000000..6de96b935 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailsummarytype.md @@ -0,0 +1,8 @@ +# ReasoningDetailSummaryType + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `REASONING_SUMMARY` | reasoning.summary | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtext.md new file mode 100644 index 000000000..5e224c0a7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtext.md @@ -0,0 +1,15 @@ +# ReasoningDetailText + +Reasoning detail text schema + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `type` | [components.ReasoningDetailTextType](../components/reasoningdetailtexttype.md) | :heavy_check_mark: | N/A | +| `text` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `format_` | [OptionalNullable[components.ReasoningDetailTextFormat]](../components/reasoningdetailtextformat.md) | :heavy_minus_sign: | N/A | +| `index` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtextformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtextformat.md new file mode 100644 index 000000000..8a48d10c1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtextformat.md @@ -0,0 +1,13 @@ +# ReasoningDetailTextFormat + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `UNKNOWN` | unknown | +| `OPENAI_RESPONSES_V1` | openai-responses-v1 | +| `AZURE_OPENAI_RESPONSES_V1` | azure-openai-responses-v1 | +| `XAI_RESPONSES_V1` | xai-responses-v1 | +| `ANTHROPIC_CLAUDE_V1` | anthropic-claude-v1 | +| `GOOGLE_GEMINI_V1` | google-gemini-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtexttype.md new file mode 100644 index 000000000..2a56e429c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailtexttype.md @@ -0,0 +1,8 @@ +# ReasoningDetailTextType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `REASONING_TEXT` | reasoning.text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailunion.md new file mode 100644 index 000000000..af977b31f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningdetailunion.md @@ -0,0 +1,25 @@ +# ReasoningDetailUnion + +Reasoning detail union schema + + +## Supported Types + +### `components.ReasoningDetailSummary` + +```python +value: components.ReasoningDetailSummary = /* values here */ +``` + +### `components.ReasoningDetailEncrypted` + +```python +value: components.ReasoningDetailEncrypted = /* values here */ +``` + +### `components.ReasoningDetailText` + +```python +value: components.ReasoningDetailText = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytext.md new file mode 100644 index 000000000..7bee8c5c0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytext.md @@ -0,0 +1,9 @@ +# ReasoningSummaryText + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `type` | [components.ReasoningSummaryTextType](../components/reasoningsummarytexttype.md) | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytexttype.md new file mode 100644 index 000000000..af36e333e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummarytexttype.md @@ -0,0 +1,8 @@ +# ReasoningSummaryTextType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SUMMARY_TEXT` | summary_text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummaryverbosity.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummaryverbosity.md new file mode 100644 index 000000000..cc36f39ba --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningsummaryverbosity.md @@ -0,0 +1,10 @@ +# ReasoningSummaryVerbosity + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `CONCISE` | concise | +| `DETAILED` | detailed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontent.md new file mode 100644 index 000000000..40aa10a23 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontent.md @@ -0,0 +1,9 @@ +# ReasoningTextContent + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `type` | [components.ReasoningTextContentType](../components/reasoningtextcontenttype.md) | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontenttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontenttype.md new file mode 100644 index 000000000..f3646d446 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/reasoningtextcontenttype.md @@ -0,0 +1,8 @@ +# ReasoningTextContentType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `REASONING_TEXT` | reasoning_text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerror.md new file mode 100644 index 000000000..4f5d8f7c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerror.md @@ -0,0 +1,11 @@ +# RequestTimeoutResponseError + +Request Timeout - Operation exceeded time limit + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `error` | [components.RequestTimeoutResponseErrorData](../components/requesttimeoutresponseerrordata.md) | :heavy_check_mark: | Error data for RequestTimeoutResponse | {
"code": 408,
"message": "Operation timed out. Please try again later."
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerrordata.md new file mode 100644 index 000000000..2e062ef57 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/requesttimeoutresponseerrordata.md @@ -0,0 +1,12 @@ +# RequestTimeoutResponseErrorData + +Error data for RequestTimeoutResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformat.md new file mode 100644 index 000000000..e1a8d0637 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformat.md @@ -0,0 +1,37 @@ +# ResponseFormat + +Response format configuration + + +## Supported Types + +### `components.ResponseFormatText` + +```python +value: components.ResponseFormatText = /* values here */ +``` + +### `components.ResponseFormatJSONObject` + +```python +value: components.ResponseFormatJSONObject = /* values here */ +``` + +### `components.ResponseFormatJSONSchema` + +```python +value: components.ResponseFormatJSONSchema = /* values here */ +``` + +### `components.ResponseFormatTextGrammar` + +```python +value: components.ResponseFormatTextGrammar = /* values here */ +``` + +### `components.ResponseFormatTextPython` + +```python +value: components.ResponseFormatTextPython = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobject.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobject.md new file mode 100644 index 000000000..38d532d59 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobject.md @@ -0,0 +1,10 @@ +# ResponseFormatJSONObject + +JSON object response format + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `type` | [components.ResponseFormatJSONObjectType](../components/responseformatjsonobjecttype.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobjecttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobjecttype.md new file mode 100644 index 000000000..c2c2c0167 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonobjecttype.md @@ -0,0 +1,8 @@ +# ResponseFormatJSONObjectType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `JSON_OBJECT` | json_object | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschema.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschema.md new file mode 100644 index 000000000..86dfc6007 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschema.md @@ -0,0 +1,11 @@ +# ResponseFormatJSONSchema + +JSON Schema response format for structured outputs + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.ResponseFormatJSONSchemaType](../components/responseformatjsonschematype.md) | :heavy_check_mark: | N/A | | +| `json_schema` | [components.JSONSchemaConfig](../components/jsonschemaconfig.md) | :heavy_check_mark: | JSON Schema configuration object | {
"name": "math_response",
"description": "A mathematical response",
"schema": {
"type": "object",
"properties": {
"answer": {
"type": "number"
}
},
"required": [
"answer"
]
},
"strict": true
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschematype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschematype.md new file mode 100644 index 000000000..2dc6447f8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformatjsonschematype.md @@ -0,0 +1,8 @@ +# ResponseFormatJSONSchemaType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `JSON_SCHEMA` | json_schema | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattext.md new file mode 100644 index 000000000..13f9ffec9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattext.md @@ -0,0 +1,10 @@ +# ResponseFormatText + +Default text response format + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `type` | [components.ResponseFormatTextType](../components/responseformattexttype.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextconfig.md new file mode 100644 index 000000000..9225e2d84 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextconfig.md @@ -0,0 +1,25 @@ +# ResponseFormatTextConfig + +Text response format configuration + + +## Supported Types + +### `components.ResponsesFormatText` + +```python +value: components.ResponsesFormatText = /* values here */ +``` + +### `components.ResponseFormatJSONObject` + +```python +value: components.ResponseFormatJSONObject = /* values here */ +``` + +### `components.ResponsesFormatTextJSONSchemaConfig` + +```python +value: components.ResponsesFormatTextJSONSchemaConfig = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammar.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammar.md new file mode 100644 index 000000000..3f293df14 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammar.md @@ -0,0 +1,11 @@ +# ResponseFormatTextGrammar + +Custom grammar response format + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `type` | [components.ResponseFormatTextGrammarType](../components/responseformattextgrammartype.md) | :heavy_check_mark: | N/A | | +| `grammar` | *str* | :heavy_check_mark: | Custom grammar for text generation | root ::= "yes" \| "no" | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammartype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammartype.md new file mode 100644 index 000000000..241e36f53 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextgrammartype.md @@ -0,0 +1,8 @@ +# ResponseFormatTextGrammarType + + +## Values + +| Name | Value | +| --------- | --------- | +| `GRAMMAR` | grammar | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpython.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpython.md new file mode 100644 index 000000000..bf4fdeea3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpython.md @@ -0,0 +1,10 @@ +# ResponseFormatTextPython + +Python code response format + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `type` | [components.ResponseFormatTextPythonType](../components/responseformattextpythontype.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpythontype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpythontype.md new file mode 100644 index 000000000..d35370121 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattextpythontype.md @@ -0,0 +1,8 @@ +# ResponseFormatTextPythonType + + +## Values + +| Name | Value | +| -------- | -------- | +| `PYTHON` | python | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattexttype.md new file mode 100644 index 000000000..819a36d48 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseformattexttype.md @@ -0,0 +1,8 @@ +# ResponseFormatTextType + + +## Values + +| Name | Value | +| ------ | ------ | +| `TEXT` | text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudio.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudio.md new file mode 100644 index 000000000..5a74b8187 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudio.md @@ -0,0 +1,11 @@ +# ResponseInputAudio + +Audio input content item + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `type` | [components.ResponseInputAudioType](../components/responseinputaudiotype.md) | :heavy_check_mark: | N/A | +| `input_audio` | [components.ResponseInputAudioInputAudio](../components/responseinputaudioinputaudio.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioformat.md new file mode 100644 index 000000000..524d473e8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioformat.md @@ -0,0 +1,9 @@ +# ResponseInputAudioFormat + + +## Values + +| Name | Value | +| ----- | ----- | +| `MP3` | mp3 | +| `WAV` | wav | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioinputaudio.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioinputaudio.md new file mode 100644 index 000000000..cb7396fa4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudioinputaudio.md @@ -0,0 +1,9 @@ +# ResponseInputAudioInputAudio + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `data` | *str* | :heavy_check_mark: | N/A | +| `format_` | [components.ResponseInputAudioFormat](../components/responseinputaudioformat.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudiotype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudiotype.md new file mode 100644 index 000000000..77245e241 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputaudiotype.md @@ -0,0 +1,8 @@ +# ResponseInputAudioType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_AUDIO` | input_audio | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfile.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfile.md new file mode 100644 index 000000000..e8b0308ce --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfile.md @@ -0,0 +1,14 @@ +# ResponseInputFile + +File input content item + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `type` | [components.ResponseInputFileType](../components/responseinputfiletype.md) | :heavy_check_mark: | N/A | +| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `file_data` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `filename` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `file_url` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfiletype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfiletype.md new file mode 100644 index 000000000..4528713aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputfiletype.md @@ -0,0 +1,8 @@ +# ResponseInputFileType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INPUT_FILE` | input_file | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimage.md new file mode 100644 index 000000000..5c7dcaf91 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimage.md @@ -0,0 +1,12 @@ +# ResponseInputImage + +Image input content item + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `type` | [components.ResponseInputImageType](../components/responseinputimagetype.md) | :heavy_check_mark: | N/A | +| `detail` | [components.ResponseInputImageDetail](../components/responseinputimagedetail.md) | :heavy_check_mark: | N/A | +| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagedetail.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagedetail.md new file mode 100644 index 000000000..0e31c6e51 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagedetail.md @@ -0,0 +1,10 @@ +# ResponseInputImageDetail + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | +| `HIGH` | high | +| `LOW` | low | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagetype.md new file mode 100644 index 000000000..1754be993 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputimagetype.md @@ -0,0 +1,8 @@ +# ResponseInputImageType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_IMAGE` | input_image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtext.md new file mode 100644 index 000000000..9c974a91f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtext.md @@ -0,0 +1,11 @@ +# ResponseInputText + +Text input content item + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `type` | [components.ResponseInputTextType](../components/responseinputtexttype.md) | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtexttype.md new file mode 100644 index 000000000..896f0634f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputtexttype.md @@ -0,0 +1,8 @@ +# ResponseInputTextType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INPUT_TEXT` | input_text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideo.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideo.md new file mode 100644 index 000000000..0d385568d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideo.md @@ -0,0 +1,11 @@ +# ResponseInputVideo + +Video input content item + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `type` | [components.ResponseInputVideoType](../components/responseinputvideotype.md) | :heavy_check_mark: | N/A | +| `video_url` | *str* | :heavy_check_mark: | A base64 data URL or remote URL that resolves to a video file | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideotype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideotype.md new file mode 100644 index 000000000..b5cb758d3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseinputvideotype.md @@ -0,0 +1,8 @@ +# ResponseInputVideoType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_VIDEO` | input_video | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtext.md new file mode 100644 index 000000000..0fba6216e --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtext.md @@ -0,0 +1,11 @@ +# ResponseOutputText + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `type` | [components.ResponseOutputTextType](../components/responseoutputtexttype.md) | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `annotations` | List[[components.OpenAIResponsesAnnotation](../components/openairesponsesannotation.md)] | :heavy_minus_sign: | N/A | +| `logprobs` | List[[components.Logprob](../components/logprob.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttoplogprob.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttoplogprob.md new file mode 100644 index 000000000..4122cab9d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttoplogprob.md @@ -0,0 +1,10 @@ +# ResponseOutputTextTopLogprob + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *str* | :heavy_check_mark: | N/A | +| `bytes_` | List[*float*] | :heavy_check_mark: | N/A | +| `logprob` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttype.md new file mode 100644 index 000000000..8c8a3d725 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseoutputtexttype.md @@ -0,0 +1,8 @@ +# ResponseOutputTextType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `OUTPUT_TEXT` | output_text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseserrorfield.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseserrorfield.md new file mode 100644 index 000000000..e21193bba --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseserrorfield.md @@ -0,0 +1,11 @@ +# ResponsesErrorField + +Error information returned from the API + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `code` | [components.Code](../components/code.md) | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattext.md new file mode 100644 index 000000000..1d9a7d55b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattext.md @@ -0,0 +1,10 @@ +# ResponsesFormatText + +Plain text response format + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `type` | [components.ResponsesFormatTextType](../components/responsesformattexttype.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfig.md new file mode 100644 index 000000000..e72a3684c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfig.md @@ -0,0 +1,14 @@ +# ResponsesFormatTextJSONSchemaConfig + +JSON schema constrained response format + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [components.ResponsesFormatTextJSONSchemaConfigType](../components/responsesformattextjsonschemaconfigtype.md) | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | +| `schema_` | Dict[str, *Nullable[Any]*] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfigtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfigtype.md new file mode 100644 index 000000000..60eb553e3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattextjsonschemaconfigtype.md @@ -0,0 +1,8 @@ +# ResponsesFormatTextJSONSchemaConfigType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `JSON_SCHEMA` | json_schema | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattexttype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattexttype.md new file mode 100644 index 000000000..2e8fd484b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesformattexttype.md @@ -0,0 +1,8 @@ +# ResponsesFormatTextType + + +## Values + +| Name | Value | +| ------ | ------ | +| `TEXT` | text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcall.md new file mode 100644 index 000000000..ab0af1e60 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcall.md @@ -0,0 +1,11 @@ +# ResponsesImageGenerationCall + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `type` | [components.ResponsesImageGenerationCallType](../components/responsesimagegenerationcalltype.md) | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `result` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus.md) | :heavy_check_mark: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcalltype.md new file mode 100644 index 000000000..6eb99c384 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesimagegenerationcalltype.md @@ -0,0 +1,8 @@ +# ResponsesImageGenerationCallType + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `IMAGE_GENERATION_CALL` | image_generation_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitem.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitem.md new file mode 100644 index 000000000..01b3528c9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitem.md @@ -0,0 +1,43 @@ +# ResponsesOutputItem + +An output item from the response + + +## Supported Types + +### `components.ResponsesOutputMessage` + +```python +value: components.ResponsesOutputMessage = /* values here */ +``` + +### `components.ResponsesOutputItemReasoning` + +```python +value: components.ResponsesOutputItemReasoning = /* values here */ +``` + +### `components.ResponsesOutputItemFunctionCall` + +```python +value: components.ResponsesOutputItemFunctionCall = /* values here */ +``` + +### `components.ResponsesWebSearchCallOutput` + +```python +value: components.ResponsesWebSearchCallOutput = /* values here */ +``` + +### `components.ResponsesOutputItemFileSearchCall` + +```python +value: components.ResponsesOutputItemFileSearchCall = /* values here */ +``` + +### `components.ResponsesImageGenerationCall` + +```python +value: components.ResponsesImageGenerationCall = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcall.md new file mode 100644 index 000000000..b173fb760 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcall.md @@ -0,0 +1,11 @@ +# ResponsesOutputItemFileSearchCall + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | [components.ResponsesOutputItemFileSearchCallType](../components/responsesoutputitemfilesearchcalltype.md) | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `queries` | List[*str*] | :heavy_check_mark: | N/A | | +| `status` | [components.WebSearchStatus](../components/websearchstatus.md) | :heavy_check_mark: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcalltype.md new file mode 100644 index 000000000..2b4d6ea72 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfilesearchcalltype.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemFileSearchCallType + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `FILE_SEARCH_CALL` | file_search_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncall.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncall.md new file mode 100644 index 000000000..5a605c4bc --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncall.md @@ -0,0 +1,13 @@ +# ResponsesOutputItemFunctionCall + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.ResponsesOutputItemFunctionCallType](../components/responsesoutputitemfunctioncalltype.md) | :heavy_check_mark: | N/A | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `arguments` | *str* | :heavy_check_mark: | N/A | +| `call_id` | *str* | :heavy_check_mark: | N/A | +| `status` | [Optional[components.ResponsesOutputItemFunctionCallStatusUnion]](../components/responsesoutputitemfunctioncallstatusunion.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatuscompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatuscompleted.md new file mode 100644 index 000000000..f8d1ae03b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatuscompleted.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemFunctionCallStatusCompleted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COMPLETED` | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusincomplete.md new file mode 100644 index 000000000..63df291fb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusincomplete.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemFunctionCallStatusIncomplete + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusinprogress.md new file mode 100644 index 000000000..74e394539 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusinprogress.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemFunctionCallStatusInProgress + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusunion.md new file mode 100644 index 000000000..2fb5ba311 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncallstatusunion.md @@ -0,0 +1,23 @@ +# ResponsesOutputItemFunctionCallStatusUnion + + +## Supported Types + +### `components.ResponsesOutputItemFunctionCallStatusCompleted` + +```python +value: components.ResponsesOutputItemFunctionCallStatusCompleted = /* values here */ +``` + +### `components.ResponsesOutputItemFunctionCallStatusIncomplete` + +```python +value: components.ResponsesOutputItemFunctionCallStatusIncomplete = /* values here */ +``` + +### `components.ResponsesOutputItemFunctionCallStatusInProgress` + +```python +value: components.ResponsesOutputItemFunctionCallStatusInProgress = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncalltype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncalltype.md new file mode 100644 index 000000000..d1e5d65bb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemfunctioncalltype.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemFunctionCallType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `FUNCTION_CALL` | function_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoning.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoning.md new file mode 100644 index 000000000..093a7cbf2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoning.md @@ -0,0 +1,17 @@ +# ResponsesOutputItemReasoning + +An output item containing reasoning + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `type` | [components.ResponsesOutputItemReasoningType](../components/responsesoutputitemreasoningtype.md) | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent.md)] | :heavy_minus_sign: | N/A | | +| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext.md)] | :heavy_check_mark: | N/A | | +| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `status` | [Optional[components.ResponsesOutputItemReasoningStatusUnion]](../components/responsesoutputitemreasoningstatusunion.md) | :heavy_minus_sign: | N/A | | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | A signature for the reasoning content, used for verification | EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj... | +| `format_` | [OptionalNullable[components.ResponsesOutputItemReasoningFormat]](../components/responsesoutputitemreasoningformat.md) | :heavy_minus_sign: | The format of the reasoning content | anthropic-claude-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningformat.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningformat.md new file mode 100644 index 000000000..d3ea6ee5a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningformat.md @@ -0,0 +1,15 @@ +# ResponsesOutputItemReasoningFormat + +The format of the reasoning content + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `UNKNOWN` | unknown | +| `OPENAI_RESPONSES_V1` | openai-responses-v1 | +| `AZURE_OPENAI_RESPONSES_V1` | azure-openai-responses-v1 | +| `XAI_RESPONSES_V1` | xai-responses-v1 | +| `ANTHROPIC_CLAUDE_V1` | anthropic-claude-v1 | +| `GOOGLE_GEMINI_V1` | google-gemini-v1 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatuscompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatuscompleted.md new file mode 100644 index 000000000..592e7403a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatuscompleted.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemReasoningStatusCompleted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COMPLETED` | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusincomplete.md new file mode 100644 index 000000000..55081b2c6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusincomplete.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemReasoningStatusIncomplete + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusinprogress.md new file mode 100644 index 000000000..05ca98338 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusinprogress.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemReasoningStatusInProgress + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusunion.md new file mode 100644 index 000000000..399d17447 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningstatusunion.md @@ -0,0 +1,23 @@ +# ResponsesOutputItemReasoningStatusUnion + + +## Supported Types + +### `components.ResponsesOutputItemReasoningStatusCompleted` + +```python +value: components.ResponsesOutputItemReasoningStatusCompleted = /* values here */ +``` + +### `components.ResponsesOutputItemReasoningStatusIncomplete` + +```python +value: components.ResponsesOutputItemReasoningStatusIncomplete = /* values here */ +``` + +### `components.ResponsesOutputItemReasoningStatusInProgress` + +```python +value: components.ResponsesOutputItemReasoningStatusInProgress = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningtype.md new file mode 100644 index 000000000..1b223b6ef --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputitemreasoningtype.md @@ -0,0 +1,8 @@ +# ResponsesOutputItemReasoningType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `REASONING` | reasoning | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessage.md new file mode 100644 index 000000000..84766c4ce --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessage.md @@ -0,0 +1,14 @@ +# ResponsesOutputMessage + +An output message item + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `role` | [components.ResponsesOutputMessageRole](../components/responsesoutputmessagerole.md) | :heavy_check_mark: | N/A | +| `type` | [components.ResponsesOutputMessageType](../components/responsesoutputmessagetype.md) | :heavy_check_mark: | N/A | +| `status` | [Optional[components.ResponsesOutputMessageStatusUnion]](../components/responsesoutputmessagestatusunion.md) | :heavy_minus_sign: | N/A | +| `content` | List[[components.ResponsesOutputMessageContent](../components/responsesoutputmessagecontent.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagecontent.md new file mode 100644 index 000000000..4986f39aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagecontent.md @@ -0,0 +1,17 @@ +# ResponsesOutputMessageContent + + +## Supported Types + +### `components.ResponseOutputText` + +```python +value: components.ResponseOutputText = /* values here */ +``` + +### `components.OpenAIResponsesRefusalContent` + +```python +value: components.OpenAIResponsesRefusalContent = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagerole.md new file mode 100644 index 000000000..3eb534f57 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagerole.md @@ -0,0 +1,8 @@ +# ResponsesOutputMessageRole + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ASSISTANT` | assistant | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatuscompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatuscompleted.md new file mode 100644 index 000000000..250c917d7 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatuscompleted.md @@ -0,0 +1,8 @@ +# ResponsesOutputMessageStatusCompleted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COMPLETED` | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusincomplete.md new file mode 100644 index 000000000..bae111f79 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusincomplete.md @@ -0,0 +1,8 @@ +# ResponsesOutputMessageStatusIncomplete + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusinprogress.md new file mode 100644 index 000000000..03fbb2429 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusinprogress.md @@ -0,0 +1,8 @@ +# ResponsesOutputMessageStatusInProgress + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusunion.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusunion.md new file mode 100644 index 000000000..dfc1594f4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagestatusunion.md @@ -0,0 +1,23 @@ +# ResponsesOutputMessageStatusUnion + + +## Supported Types + +### `components.ResponsesOutputMessageStatusCompleted` + +```python +value: components.ResponsesOutputMessageStatusCompleted = /* values here */ +``` + +### `components.ResponsesOutputMessageStatusIncomplete` + +```python +value: components.ResponsesOutputMessageStatusIncomplete = /* values here */ +``` + +### `components.ResponsesOutputMessageStatusInProgress` + +```python +value: components.ResponsesOutputMessageStatusInProgress = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagetype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagetype.md new file mode 100644 index 000000000..8648193e2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmessagetype.md @@ -0,0 +1,8 @@ +# ResponsesOutputMessageType + + +## Values + +| Name | Value | +| --------- | --------- | +| `MESSAGE` | message | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmodality.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmodality.md new file mode 100644 index 000000000..f94f6c1a8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsesoutputmodality.md @@ -0,0 +1,9 @@ +# ResponsesOutputModality + + +## Values + +| Name | Value | +| ------- | ------- | +| `TEXT` | text | +| `IMAGE` | image | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsessearchcontextsize.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsessearchcontextsize.md new file mode 100644 index 000000000..4f0bc02f2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsessearchcontextsize.md @@ -0,0 +1,12 @@ +# ResponsesSearchContextSize + +Size of the search context for web search tools + + +## Values + +| Name | Value | +| -------- | -------- | +| `LOW` | low | +| `MEDIUM` | medium | +| `HIGH` | high | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutput.md new file mode 100644 index 000000000..3514d2f24 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutput.md @@ -0,0 +1,10 @@ +# ResponsesWebSearchCallOutput + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `type` | [components.ResponsesWebSearchCallOutputType](../components/responseswebsearchcalloutputtype.md) | :heavy_check_mark: | N/A | | +| `id` | *str* | :heavy_check_mark: | N/A | | +| `status` | [components.WebSearchStatus](../components/websearchstatus.md) | :heavy_check_mark: | N/A | completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutputtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutputtype.md new file mode 100644 index 000000000..faaec2221 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchcalloutputtype.md @@ -0,0 +1,8 @@ +# ResponsesWebSearchCallOutputType + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `WEB_SEARCH_CALL` | web_search_call | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocation.md new file mode 100644 index 000000000..144eeccdb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocation.md @@ -0,0 +1,14 @@ +# ResponsesWebSearchUserLocation + +User location information for web search + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `type` | [Optional[components.ResponsesWebSearchUserLocationType]](../components/responseswebsearchuserlocationtype.md) | :heavy_minus_sign: | N/A | +| `city` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocationtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocationtype.md new file mode 100644 index 000000000..cb35c6a8d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responseswebsearchuserlocationtype.md @@ -0,0 +1,8 @@ +# ResponsesWebSearchUserLocationType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `APPROXIMATE` | approximate | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfig.md new file mode 100644 index 000000000..f91172cf0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfig.md @@ -0,0 +1,11 @@ +# ResponseTextConfig + +Text output configuration including format and verbosity + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `format_` | [Optional[components.ResponseFormatTextConfig]](../components/responseformattextconfig.md) | :heavy_minus_sign: | Text response format configuration | {
"type": "text"
} | +| `verbosity` | [OptionalNullable[components.ResponseTextConfigVerbosity]](../components/responsetextconfigverbosity.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfigverbosity.md b/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfigverbosity.md new file mode 100644 index 000000000..073cb075d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/responsetextconfigverbosity.md @@ -0,0 +1,10 @@ +# ResponseTextConfigVerbosity + + +## Values + +| Name | Value | +| -------- | -------- | +| `HIGH` | high | +| `LOW` | low | +| `MEDIUM` | medium | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/retryconfig.md b/.github/skills/openrouter-python-sdk/references/documentation/other/retryconfig.md new file mode 100644 index 000000000..69dd549ec --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/retryconfig.md @@ -0,0 +1,24 @@ +# RetryConfig + +Allows customizing the default retry configuration. Only usable with methods that mention they support retries. + +## Fields + +| Name | Type | Description | Example | +| ------------------------- | ----------------------------------- | --------------------------------------- | --------- | +| `strategy` | `*str*` | The retry strategy to use. | `backoff` | +| `backoff` | [BackoffStrategy](#backoffstrategy) | Configuration for the backoff strategy. | | +| `retry_connection_errors` | `*bool*` | Whether to retry on connection errors. | `true` | + +## BackoffStrategy + +The backoff strategy allows retrying a request with an exponential backoff between each retry. + +### Fields + +| Name | Type | Description | Example | +| ------------------ | --------- | ----------------------------------------- | -------- | +| `initial_interval` | `*int*` | The initial interval in milliseconds. | `500` | +| `max_interval` | `*int*` | The maximum interval in milliseconds. | `60000` | +| `exponent` | `*float*` | The exponent to use for the backoff. | `1.5` | +| `max_elapsed_time` | `*int*` | The maximum elapsed time in milliseconds. | `300000` | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/security.md b/.github/skills/openrouter-python-sdk/references/documentation/other/security.md new file mode 100644 index 000000000..2e0839d06 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/security.md @@ -0,0 +1,8 @@ +# Security + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `api_key` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestglobals.md new file mode 100644 index 000000000..b37d22f18 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestglobals.md @@ -0,0 +1,9 @@ +# SendChatCompletionRequestGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestrequest.md new file mode 100644 index 000000000..9eefdaef6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestrequest.md @@ -0,0 +1,10 @@ +# SendChatCompletionRequestRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `chat_generation_params` | [components.ChatGenerationParams](../components/chatgenerationparams.md) | :heavy_check_mark: | N/A | {
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is the capital of France?"
}
],
"model": "openai/gpt-4",
"temperature": 0.7,
"max_tokens": 150
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponse.md new file mode 100644 index 000000000..4bdd885fa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponse.md @@ -0,0 +1,17 @@ +# SendChatCompletionRequestResponse + + +## Supported Types + +### `components.ChatResponse` + +```python +value: components.ChatResponse = /* values here */ +``` + +### `Union[eventstreaming.EventStream[components.ChatStreamingResponseChunk], eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]]` + +```python +value: Union[eventstreaming.EventStream[components.ChatStreamingResponseChunk], eventstreaming.EventStreamAsync[components.ChatStreamingResponseChunk]] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponsebody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponsebody.md new file mode 100644 index 000000000..82acd8b96 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/sendchatcompletionrequestresponsebody.md @@ -0,0 +1,10 @@ +# SendChatCompletionRequestResponseBody + +Successful chat completion response + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [components.ChatStreamingResponseChunk](../components/chatstreamingresponsechunk.md) | :heavy_check_mark: | Streaming chat completion chunk | {
"id": "chatcmpl-123",
"object": "chat.completion.chunk",
"created": 1677652288,
"model": "openai/gpt-4",
"choices": [
{
"index": 0,
"delta": {
"role": "assistant",
"content": "Hello"
},
"finish_reason": null
}
]
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/servicetier.md b/.github/skills/openrouter-python-sdk/references/documentation/other/servicetier.md new file mode 100644 index 000000000..bfc618720 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/servicetier.md @@ -0,0 +1,8 @@ +# ServiceTier + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerror.md new file mode 100644 index 000000000..ecd703aef --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerror.md @@ -0,0 +1,11 @@ +# ServiceUnavailableResponseError + +Service Unavailable - Service temporarily unavailable + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `error` | [components.ServiceUnavailableResponseErrorData](../components/serviceunavailableresponseerrordata.md) | :heavy_check_mark: | Error data for ServiceUnavailableResponse | {
"code": 503,
"message": "Service temporarily unavailable"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerrordata.md new file mode 100644 index 000000000..797c8310a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/serviceunavailableresponseerrordata.md @@ -0,0 +1,12 @@ +# ServiceUnavailableResponseErrorData + +Error data for ServiceUnavailableResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/sort.md b/.github/skills/openrouter-python-sdk/references/documentation/other/sort.md new file mode 100644 index 000000000..e07f07cd8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/sort.md @@ -0,0 +1,10 @@ +# Sort + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRICE` | price | +| `THROUGHPUT` | throughput | +| `LATENCY` | latency | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/stop.md b/.github/skills/openrouter-python-sdk/references/documentation/other/stop.md new file mode 100644 index 000000000..c36d91088 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/stop.md @@ -0,0 +1,25 @@ +# Stop + +Stop sequences (up to 4) + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + +### `Any` + +```python +value: Any = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessage.md new file mode 100644 index 000000000..db3080cf3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessage.md @@ -0,0 +1,12 @@ +# SystemMessage + +System message for setting behavior + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `role` | [components.SystemMessageRole](../components/systemmessagerole.md) | :heavy_check_mark: | N/A | | +| `content` | [components.SystemMessageContent](../components/systemmessagecontent.md) | :heavy_check_mark: | System message content | You are a helpful assistant. | +| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the system message | Assistant Config | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagecontent.md new file mode 100644 index 000000000..17b52f11f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagecontent.md @@ -0,0 +1,19 @@ +# SystemMessageContent + +System message content + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.ChatMessageContentItemText]` + +```python +value: List[components.ChatMessageContentItemText] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagerole.md new file mode 100644 index 000000000..232f12a86 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/systemmessagerole.md @@ -0,0 +1,8 @@ +# SystemMessageRole + + +## Values + +| Name | Value | +| -------- | -------- | +| `SYSTEM` | system | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/tokenizer.md b/.github/skills/openrouter-python-sdk/references/documentation/other/tokenizer.md new file mode 100644 index 000000000..375af1746 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/tokenizer.md @@ -0,0 +1,28 @@ +# Tokenizer + +Tokenizer type used by the model + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ROUTER` | Router | +| `MEDIA` | Media | +| `OTHER` | Other | +| `GPT` | GPT | +| `CLAUDE` | Claude | +| `GEMINI` | Gemini | +| `GROK` | Grok | +| `COHERE` | Cohere | +| `NOVA` | Nova | +| `QWEN` | Qwen | +| `YI` | Yi | +| `DEEP_SEEK` | DeepSeek | +| `MISTRAL` | Mistral | +| `LLAMA2` | Llama2 | +| `LLAMA3` | Llama3 | +| `LLAMA4` | Llama4 | +| `PA_LM` | PaLM | +| `RWKV` | RWKV | +| `QWEN3` | Qwen3 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolcallstatus.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolcallstatus.md new file mode 100644 index 000000000..e3aadb1a4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolcallstatus.md @@ -0,0 +1,10 @@ +# ToolCallStatus + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `IN_PROGRESS` | in_progress | +| `COMPLETED` | completed | +| `INCOMPLETE` | incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoption.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoption.md new file mode 100644 index 000000000..1637d27e1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoption.md @@ -0,0 +1,31 @@ +# ToolChoiceOption + +Tool choice configuration + + +## Supported Types + +### `components.ToolChoiceOptionNone` + +```python +value: components.ToolChoiceOptionNone = /* values here */ +``` + +### `components.ToolChoiceOptionAuto` + +```python +value: components.ToolChoiceOptionAuto = /* values here */ +``` + +### `components.ToolChoiceOptionRequired` + +```python +value: components.ToolChoiceOptionRequired = /* values here */ +``` + +### `components.NamedToolChoice` + +```python +value: components.NamedToolChoice = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionauto.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionauto.md new file mode 100644 index 000000000..01373bbe0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionauto.md @@ -0,0 +1,8 @@ +# ToolChoiceOptionAuto + + +## Values + +| Name | Value | +| ------ | ------ | +| `AUTO` | auto | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionnone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionnone.md new file mode 100644 index 000000000..719ec28c1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionnone.md @@ -0,0 +1,8 @@ +# ToolChoiceOptionNone + + +## Values + +| Name | Value | +| ------ | ------ | +| `NONE` | none | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionrequired.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionrequired.md new file mode 100644 index 000000000..af4320289 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolchoiceoptionrequired.md @@ -0,0 +1,8 @@ +# ToolChoiceOptionRequired + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `REQUIRED` | required | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjson.md b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjson.md new file mode 100644 index 000000000..2a327b79c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjson.md @@ -0,0 +1,12 @@ +# ToolDefinitionJSON + +Tool definition for function calling + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [components.ToolDefinitionJSONType](../components/tooldefinitionjsontype.md) | :heavy_check_mark: | N/A | | +| `function` | [components.ToolDefinitionJSONFunction](../components/tooldefinitionjsonfunction.md) | :heavy_check_mark: | Function definition for tool calling | {
"name": "get_weather",
"description": "Get the current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name"
}
},
"required": [
"location"
]
}
} | +| `cache_control` | [Optional[components.ChatMessageContentItemCacheControl]](../components/chatmessagecontentitemcachecontrol.md) | :heavy_minus_sign: | Cache control for the content part | {
"type": "ephemeral",
"ttl": "5m"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsonfunction.md b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsonfunction.md new file mode 100644 index 000000000..d2863a1d0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsonfunction.md @@ -0,0 +1,13 @@ +# ToolDefinitionJSONFunction + +Function definition for tool calling + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | Function name (a-z, A-Z, 0-9, underscores, dashes, max 64 chars) | get_weather | +| `description` | *Optional[str]* | :heavy_minus_sign: | Function description for the model | Get the current weather for a location | +| `parameters` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | Function parameters as JSON Schema object | {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name"
}
},
"required": [
"location"
]
} | +| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | Enable strict schema adherence | false | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsontype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsontype.md new file mode 100644 index 000000000..ffa142dae --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/tooldefinitionjsontype.md @@ -0,0 +1,8 @@ +# ToolDefinitionJSONType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FUNCTION` | function | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessage.md new file mode 100644 index 000000000..dcfa91b7a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessage.md @@ -0,0 +1,12 @@ +# ToolResponseMessage + +Tool response message + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `role` | [components.ToolResponseMessageRole](../components/toolresponsemessagerole.md) | :heavy_check_mark: | N/A | | +| `content` | [components.ToolResponseMessageContent](../components/toolresponsemessagecontent.md) | :heavy_check_mark: | Tool response content | The weather in San Francisco is 72°F and sunny. | +| `tool_call_id` | *str* | :heavy_check_mark: | ID of the assistant message tool call this message responds to | call_abc123 | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagecontent.md new file mode 100644 index 000000000..98f677077 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagecontent.md @@ -0,0 +1,19 @@ +# ToolResponseMessageContent + +Tool response content + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.ChatMessageContentItem]` + +```python +value: List[components.ChatMessageContentItem] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagerole.md new file mode 100644 index 000000000..f91950427 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toolresponsemessagerole.md @@ -0,0 +1,8 @@ +# ToolResponseMessageRole + + +## Values + +| Name | Value | +| ------ | ------ | +| `TOOL` | tool | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerror.md new file mode 100644 index 000000000..d03ed75e3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerror.md @@ -0,0 +1,11 @@ +# TooManyRequestsResponseError + +Too Many Requests - Rate limit exceeded + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `error` | [components.TooManyRequestsResponseErrorData](../components/toomanyrequestsresponseerrordata.md) | :heavy_check_mark: | Error data for TooManyRequestsResponse | {
"code": 429,
"message": "Rate limit exceeded"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerrordata.md new file mode 100644 index 000000000..a957677d3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/toomanyrequestsresponseerrordata.md @@ -0,0 +1,12 @@ +# TooManyRequestsResponseErrorData + +Error data for TooManyRequestsResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/topproviderinfo.md b/.github/skills/openrouter-python-sdk/references/documentation/other/topproviderinfo.md new file mode 100644 index 000000000..135391989 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/topproviderinfo.md @@ -0,0 +1,12 @@ +# TopProviderInfo + +Information about the top provider for this model + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `context_length` | *OptionalNullable[float]* | :heavy_minus_sign: | Context length from the top provider | 8192 | +| `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum completion tokens from the top provider | 4096 | +| `is_moderated` | *bool* | :heavy_check_mark: | Whether the top provider moderates content | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/transferintent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/transferintent.md new file mode 100644 index 000000000..f068e9ae1 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/transferintent.md @@ -0,0 +1,9 @@ +# TransferIntent + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `call_data` | [operations.CallData](../operations/calldata.md) | :heavy_check_mark: | N/A | +| `metadata` | [operations.Metadata](../operations/metadata.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/truncation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/truncation.md new file mode 100644 index 000000000..5a04bd971 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/truncation.md @@ -0,0 +1,9 @@ +# Truncation + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `DISABLED` | disabled | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/ttl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/ttl.md new file mode 100644 index 000000000..0cbc7f3c8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/ttl.md @@ -0,0 +1,9 @@ +# TTL + + +## Values + +| Name | Value | +| ------- | ------- | +| `FIVEM` | 5m | +| `ONEH` | 1h | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/type.md b/.github/skills/openrouter-python-sdk/references/documentation/other/type.md new file mode 100644 index 000000000..6eaadffee --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/type.md @@ -0,0 +1,17 @@ +# Type + + +## Supported Types + +### `components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311` + +```python +value: components.OpenAIResponsesToolChoiceTypeWebSearchPreview20250311 = /* values here */ +``` + +### `components.OpenAIResponsesToolChoiceTypeWebSearchPreview` + +```python +value: components.OpenAIResponsesToolChoiceTypeWebSearchPreview = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeimageurl.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeimageurl.md new file mode 100644 index 000000000..addee7e98 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeimageurl.md @@ -0,0 +1,8 @@ +# TypeImageURL + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `IMAGE_URL` | image_url | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecompleted.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecompleted.md new file mode 100644 index 000000000..77875c6fa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecompleted.md @@ -0,0 +1,8 @@ +# TypeResponseCompleted + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `RESPONSE_COMPLETED` | response.completed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartadded.md new file mode 100644 index 000000000..c31cd185b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartadded.md @@ -0,0 +1,8 @@ +# TypeResponseContentPartAdded + + +## Values + +| Name | Value | +| ----------------------------- | ----------------------------- | +| `RESPONSE_CONTENT_PART_ADDED` | response.content_part.added | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartdone.md new file mode 100644 index 000000000..0f98a39b6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecontentpartdone.md @@ -0,0 +1,8 @@ +# TypeResponseContentPartDone + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `RESPONSE_CONTENT_PART_DONE` | response.content_part.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecreated.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecreated.md new file mode 100644 index 000000000..364b68bc9 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsecreated.md @@ -0,0 +1,8 @@ +# TypeResponseCreated + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `RESPONSE_CREATED` | response.created | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefailed.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefailed.md new file mode 100644 index 000000000..6ce28360d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefailed.md @@ -0,0 +1,8 @@ +# TypeResponseFailed + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `RESPONSE_FAILED` | response.failed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdelta.md new file mode 100644 index 000000000..c9708cc48 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdelta.md @@ -0,0 +1,8 @@ +# TypeResponseFunctionCallArgumentsDelta + + +## Values + +| Name | Value | +| ---------------------------------------- | ---------------------------------------- | +| `RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA` | response.function_call_arguments.delta | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdone.md new file mode 100644 index 000000000..efb0b737b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsefunctioncallargumentsdone.md @@ -0,0 +1,8 @@ +# TypeResponseFunctionCallArgumentsDone + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE` | response.function_call_arguments.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseincomplete.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseincomplete.md new file mode 100644 index 000000000..3fea87808 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseincomplete.md @@ -0,0 +1,8 @@ +# TypeResponseIncomplete + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `RESPONSE_INCOMPLETE` | response.incomplete | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseinprogress.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseinprogress.md new file mode 100644 index 000000000..6f2328e77 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseinprogress.md @@ -0,0 +1,8 @@ +# TypeResponseInProgress + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `RESPONSE_IN_PROGRESS` | response.in_progress | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemadded.md new file mode 100644 index 000000000..b29c71ee3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemadded.md @@ -0,0 +1,8 @@ +# TypeResponseOutputItemAdded + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `RESPONSE_OUTPUT_ITEM_ADDED` | response.output_item.added | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemdone.md new file mode 100644 index 000000000..4c6f4a659 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputitemdone.md @@ -0,0 +1,8 @@ +# TypeResponseOutputItemDone + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `RESPONSE_OUTPUT_ITEM_DONE` | response.output_item.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextannotationadded.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextannotationadded.md new file mode 100644 index 000000000..d2319a538 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextannotationadded.md @@ -0,0 +1,8 @@ +# TypeResponseOutputTextAnnotationAdded + + +## Values + +| Name | Value | +| --------------------------------------- | --------------------------------------- | +| `RESPONSE_OUTPUT_TEXT_ANNOTATION_ADDED` | response.output_text.annotation.added | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdelta.md new file mode 100644 index 000000000..e6381fde8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdelta.md @@ -0,0 +1,8 @@ +# TypeResponseOutputTextDelta + + +## Values + +| Name | Value | +| ---------------------------- | ---------------------------- | +| `RESPONSE_OUTPUT_TEXT_DELTA` | response.output_text.delta | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdone.md new file mode 100644 index 000000000..2ccc4b5c2 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponseoutputtextdone.md @@ -0,0 +1,8 @@ +# TypeResponseOutputTextDone + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `RESPONSE_OUTPUT_TEXT_DONE` | response.output_text.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsereasoningsummarypartdone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsereasoningsummarypartdone.md new file mode 100644 index 000000000..89517060d --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponsereasoningsummarypartdone.md @@ -0,0 +1,8 @@ +# TypeResponseReasoningSummaryPartDone + + +## Values + +| Name | Value | +| -------------------------------------- | -------------------------------------- | +| `RESPONSE_REASONING_SUMMARY_PART_DONE` | response.reasoning_summary_part.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldelta.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldelta.md new file mode 100644 index 000000000..9e5dadcb0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldelta.md @@ -0,0 +1,8 @@ +# TypeResponseRefusalDelta + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `RESPONSE_REFUSAL_DELTA` | response.refusal.delta | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldone.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldone.md new file mode 100644 index 000000000..012458673 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typeresponserefusaldone.md @@ -0,0 +1,8 @@ +# TypeResponseRefusalDone + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `RESPONSE_REFUSAL_DONE` | response.refusal.done | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/typetext.md b/.github/skills/openrouter-python-sdk/references/documentation/other/typetext.md new file mode 100644 index 000000000..fb9c2cfc8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/typetext.md @@ -0,0 +1,8 @@ +# TypeText + + +## Values + +| Name | Value | +| ------ | ------ | +| `TEXT` | text | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerror.md new file mode 100644 index 000000000..7dd774403 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerror.md @@ -0,0 +1,11 @@ +# UnauthorizedResponseError + +Unauthorized - Authentication required or invalid credentials + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `error` | [components.UnauthorizedResponseErrorData](../components/unauthorizedresponseerrordata.md) | :heavy_check_mark: | Error data for UnauthorizedResponse | {
"code": 401,
"message": "Missing Authentication header"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerrordata.md new file mode 100644 index 000000000..1db2a3a93 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/unauthorizedresponseerrordata.md @@ -0,0 +1,12 @@ +# UnauthorizedResponseErrorData + +Error data for UnauthorizedResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerror.md b/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerror.md new file mode 100644 index 000000000..33f001c56 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerror.md @@ -0,0 +1,11 @@ +# UnprocessableEntityResponseError + +Unprocessable Entity - Semantic validation failure + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `error` | [components.UnprocessableEntityResponseErrorData](../components/unprocessableentityresponseerrordata.md) | :heavy_check_mark: | Error data for UnprocessableEntityResponse | {
"code": 422,
"message": "Invalid argument"
} | +| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerrordata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerrordata.md new file mode 100644 index 000000000..9ccd3c05c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/unprocessableentityresponseerrordata.md @@ -0,0 +1,12 @@ +# UnprocessableEntityResponseErrorData + +Error data for UnprocessableEntityResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `code` | *int* | :heavy_check_mark: | N/A | +| `message` | *str* | :heavy_check_mark: | N/A | +| `metadata` | Dict[str, *Nullable[Any]*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardraildata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardraildata.md new file mode 100644 index 000000000..8ef0a039b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardraildata.md @@ -0,0 +1,19 @@ +# UpdateGuardrailData + +The updated guardrail + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the guardrail | 550e8400-e29b-41d4-a716-446655440000 | +| `name` | *str* | :heavy_check_mark: | Name of the guardrail | Production Guardrail | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | Guardrail for production environment | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 100 | +| `reset_interval` | [OptionalNullable[operations.UpdateGuardrailResetIntervalResponse]](../operations/updateguardrailresetintervalresponse.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"google"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model canonical_slugs (immutable identifiers) | [
"openai/gpt-5.2-20251211",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | false | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the guardrail was created | 2025-08-24T10:30:00Z | +| `updated_at` | *OptionalNullable[str]* | :heavy_minus_sign: | ISO 8601 timestamp of when the guardrail was last updated | 2025-08-24T15:45:00Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailglobals.md new file mode 100644 index 000000000..fc6666104 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailglobals.md @@ -0,0 +1,9 @@ +# UpdateGuardrailGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequest.md new file mode 100644 index 000000000..04fe91c70 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequest.md @@ -0,0 +1,11 @@ +# UpdateGuardrailRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail to update | 550e8400-e29b-41d4-a716-446655440000 | +| `request_body` | [operations.UpdateGuardrailRequestBody](../operations/updateguardrailrequestbody.md) | :heavy_check_mark: | N/A | {
"name": "Updated Guardrail Name",
"description": "Updated description",
"limit_usd": 75,
"reset_interval": "weekly"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequestbody.md new file mode 100644 index 000000000..fe16a07cd --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailrequestbody.md @@ -0,0 +1,14 @@ +# UpdateGuardrailRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the guardrail | Updated Guardrail Name | +| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | New description for the guardrail | Updated description | +| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit in USD | 75 | +| `reset_interval` | [OptionalNullable[operations.UpdateGuardrailResetIntervalRequest]](../operations/updateguardrailresetintervalrequest.md) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly | +| `allowed_providers` | List[*str*] | :heavy_minus_sign: | New list of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] | +| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2"
] | +| `enforce_zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enforce zero data retention | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalrequest.md new file mode 100644 index 000000000..b48624a6a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalrequest.md @@ -0,0 +1,12 @@ +# UpdateGuardrailResetIntervalRequest + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalresponse.md new file mode 100644 index 000000000..64ccf8536 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresetintervalresponse.md @@ -0,0 +1,12 @@ +# UpdateGuardrailResetIntervalResponse + +Interval at which the limit resets (daily, weekly, monthly) + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresponse.md new file mode 100644 index 000000000..c068ca8e4 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updateguardrailresponse.md @@ -0,0 +1,10 @@ +# UpdateGuardrailResponse + +Guardrail updated successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.UpdateGuardrailData](../operations/updateguardraildata.md) | :heavy_check_mark: | The updated guardrail | {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Production Guardrail",
"description": "Guardrail for production environment",
"limit_usd": 100,
"reset_interval": "monthly",
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"allowed_models": null,
"enforce_zdr": false,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysdata.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysdata.md new file mode 100644 index 000000000..910553441 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysdata.md @@ -0,0 +1,28 @@ +# UpdateKeysData + +The updated API key information + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `hash` | *str* | :heavy_check_mark: | Unique hash identifier for the API key | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `name` | *str* | :heavy_check_mark: | Name of the API key | My Production Key | +| `label` | *str* | :heavy_check_mark: | Human-readable label for the API key | sk-or-v1-0e6...1c96 | +| `disabled` | *bool* | :heavy_check_mark: | Whether the API key is disabled | false | +| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 | +| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 | +| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly | +| `include_byok_in_limit` | *bool* | :heavy_check_mark: | Whether to include external BYOK usage in the credit limit | false | +| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 | +| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 | +| `usage_weekly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) | 25.5 | +| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 | +| `byok_usage` | *float* | :heavy_check_mark: | Total external BYOK usage (in USD) for the API key | 17.38 | +| `byok_usage_daily` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC day | 17.38 | +| `byok_usage_weekly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for the current UTC week (Monday-Sunday) | 17.38 | +| `byok_usage_monthly` | *float* | :heavy_check_mark: | External BYOK usage (in USD) for current UTC month | 17.38 | +| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was created | 2025-08-24T10:30:00Z | +| `updated_at` | *Nullable[str]* | :heavy_check_mark: | ISO 8601 timestamp of when the API key was last updated | 2025-08-24T15:45:00Z | +| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | ISO 8601 UTC timestamp when the API key expires, or null if no expiration | 2027-12-31T23:59:59Z | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysglobals.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysglobals.md new file mode 100644 index 000000000..c13bcc618 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysglobals.md @@ -0,0 +1,9 @@ +# UpdateKeysGlobals + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeyslimitreset.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeyslimitreset.md new file mode 100644 index 000000000..7a91c14c0 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeyslimitreset.md @@ -0,0 +1,12 @@ +# UpdateKeysLimitReset + +New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequest.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequest.md new file mode 100644 index 000000000..c2c5c2515 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequest.md @@ -0,0 +1,11 @@ +# UpdateKeysRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to update | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 | +| `request_body` | [operations.UpdateKeysRequestBody](../operations/updatekeysrequestbody.md) | :heavy_check_mark: | N/A | {
"name": "Updated API Key Name",
"disabled": false,
"limit": 75,
"limit_reset": "daily",
"include_byok_in_limit": true
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequestbody.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequestbody.md new file mode 100644 index 000000000..8d8ebb1e8 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysrequestbody.md @@ -0,0 +1,12 @@ +# UpdateKeysRequestBody + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the API key | Updated API Key Name | +| `disabled` | *Optional[bool]* | :heavy_minus_sign: | Whether to disable the API key | false | +| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit for the API key in USD | 75 | +| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../operations/updatekeyslimitreset.md) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily | +| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysresponse.md b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysresponse.md new file mode 100644 index 000000000..6f58ec3c6 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/updatekeysresponse.md @@ -0,0 +1,10 @@ +# UpdateKeysResponse + +API key updated successfully + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | [operations.UpdateKeysData](../operations/updatekeysdata.md) | :heavy_check_mark: | The updated API key information | {
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"name": "My Production Key",
"label": "sk-or-v1-0e6...1c96",
"disabled": false,
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"include_byok_in_limit": false,
"usage": 25.5,
"usage_daily": 25.5,
"usage_weekly": 25.5,
"usage_monthly": 25.5,
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_weekly": 17.38,
"byok_usage_monthly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"updated_at": "2025-08-24T15:45:00Z",
"expires_at": "2027-12-31T23:59:59Z"
} | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitation.md new file mode 100644 index 000000000..d98eb3b89 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitation.md @@ -0,0 +1,12 @@ +# URLCitation + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `type` | [components.URLCitationType](../components/urlcitationtype.md) | :heavy_check_mark: | N/A | +| `url` | *str* | :heavy_check_mark: | N/A | +| `title` | *str* | :heavy_check_mark: | N/A | +| `start_index` | *float* | :heavy_check_mark: | N/A | +| `end_index` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitationtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitationtype.md new file mode 100644 index 000000000..2b6e38f54 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/urlcitationtype.md @@ -0,0 +1,8 @@ +# URLCitationType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `URL_CITATION` | url_citation | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/usage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/usage.md new file mode 100644 index 000000000..90e936120 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/usage.md @@ -0,0 +1,10 @@ +# Usage + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `prompt_tokens` | *float* | :heavy_check_mark: | N/A | +| `total_tokens` | *float* | :heavy_check_mark: | N/A | +| `cost` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/usagelimittype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/usagelimittype.md new file mode 100644 index 000000000..0d9e7c83f --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/usagelimittype.md @@ -0,0 +1,12 @@ +# UsageLimitType + +Optional credit limit reset interval. When set, the credit limit resets on this interval. + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/usermessage.md b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessage.md new file mode 100644 index 000000000..40e7787fb --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessage.md @@ -0,0 +1,12 @@ +# UserMessage + +User message + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `role` | [components.UserMessageRole](../components/usermessagerole.md) | :heavy_check_mark: | N/A | | +| `content` | [components.UserMessageContent](../components/usermessagecontent.md) | :heavy_check_mark: | User message content | What is the capital of France? | +| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the user | User | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagecontent.md b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagecontent.md new file mode 100644 index 000000000..e3483ffe3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagecontent.md @@ -0,0 +1,19 @@ +# UserMessageContent + +User message content + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[components.ChatMessageContentItem]` + +```python +value: List[components.ChatMessageContentItem] = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagerole.md b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagerole.md new file mode 100644 index 000000000..171124e45 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/usermessagerole.md @@ -0,0 +1,8 @@ +# UserMessageRole + + +## Values + +| Name | Value | +| ------ | ------ | +| `USER` | user | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/variables.md b/.github/skills/openrouter-python-sdk/references/documentation/other/variables.md new file mode 100644 index 000000000..7d7676279 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/variables.md @@ -0,0 +1,29 @@ +# Variables + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `components.ResponseInputText` + +```python +value: components.ResponseInputText = /* values here */ +``` + +### `components.ResponseInputImage` + +```python +value: components.ResponseInputImage = /* values here */ +``` + +### `components.ResponseInputFile` + +```python +value: components.ResponseInputFile = /* values here */ +``` + diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/videoinput.md b/.github/skills/openrouter-python-sdk/references/documentation/other/videoinput.md new file mode 100644 index 000000000..aefea98b5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/videoinput.md @@ -0,0 +1,10 @@ +# VideoInput + +Video input object + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `url` | *str* | :heavy_check_mark: | URL of the video (data: URLs supported) | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/web3data.md b/.github/skills/openrouter-python-sdk/references/documentation/other/web3data.md new file mode 100644 index 000000000..18e0a9cb3 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/web3data.md @@ -0,0 +1,8 @@ +# Web3Data + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `transfer_intent` | [operations.TransferIntent](../operations/transferintent.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/websearchengine.md b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchengine.md new file mode 100644 index 000000000..0b843a87c --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchengine.md @@ -0,0 +1,11 @@ +# WebSearchEngine + +The search engine to use for web search. + + +## Values + +| Name | Value | +| -------- | -------- | +| `NATIVE` | native | +| `EXA` | exa | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocation.md b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocation.md new file mode 100644 index 000000000..e2768b0ed --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocation.md @@ -0,0 +1,12 @@ +# WebSearchPreviewToolUserLocation + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `type` | [components.WebSearchPreviewToolUserLocationType](../components/websearchpreviewtooluserlocationtype.md) | :heavy_check_mark: | N/A | +| `city` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocationtype.md b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocationtype.md new file mode 100644 index 000000000..505e5ea9a --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchpreviewtooluserlocationtype.md @@ -0,0 +1,8 @@ +# WebSearchPreviewToolUserLocationType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `APPROXIMATE` | approximate | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/other/websearchstatus.md b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchstatus.md new file mode 100644 index 000000000..53303ec32 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/other/websearchstatus.md @@ -0,0 +1,11 @@ +# WebSearchStatus + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `COMPLETED` | completed | +| `SEARCHING` | searching | +| `IN_PROGRESS` | in_progress | +| `FAILED` | failed | \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/overview/OVERVIEW.md b/.github/skills/openrouter-python-sdk/references/documentation/overview/OVERVIEW.md new file mode 100644 index 000000000..753e621d5 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/overview/OVERVIEW.md @@ -0,0 +1,127 @@ +# OpenRouter Python SDK + +The OpenRouter Python SDK is a type-safe toolkit for building AI applications with access to 300+ language models through a unified API. + +## Why use the OpenRouter SDK? + +Integrating AI models into applications involves handling different provider APIs, managing model-specific requirements, and avoiding common implementation mistakes. The OpenRouter SDK standardizes these integrations and protects you from footguns. + +```python +from openrouter import OpenRouter +import os + +with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY") +) as client: + response = client.chat.send( + model="minimax/minimax-m2", + messages=[ + {"role": "user", "content": "Explain quantum computing"} + ] + ) +``` + +The SDK provides three core benefits: + +### Auto-generated from API specifications + +The SDK is automatically generated from OpenRouter's OpenAPI specs and updated with every API change. New models, parameters, and features appear in your IDE autocomplete immediately. No manual updates. No version drift. + +```python +# When new models launch, they're available instantly +response = client.chat.send( + model="minimax/minimax-m2" +) +``` + +### Type-safe by default + +Every parameter, response field, and configuration option is fully typed with Python type hints and validated with Pydantic. Invalid configurations are caught at runtime with clear error messages. + +```python +response = client.chat.send( + model="minimax/minimax-m2", + messages=[ + {"role": "user", "content": "Hello"} + # ← Pydantic validates message structure + ], + temperature=0.7, # ← Type-checked and validated + stream=True # ← Response type changes based on this +) +``` + +**Actionable error messages:** + +```python +# Instead of generic errors, get specific guidance: +# "Model 'openai/o1-preview' requires at least 2 messages. +# You provided 1 message. Add a system or user message." +``` + +**Type-safe streaming:** + +```python +stream = client.chat.send( + model="minimax/minimax-m2", + messages=[{"role": "user", "content": "Write a story"}], + stream=True +) + +for event in stream: + # Full type information for streaming responses + content = event.choices[0].delta.content if event.choices else None +``` + +**Async support:** + +```python +import asyncio + +async def main(): + async with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY") + ) as client: + response = await client.chat.send_async( + model="minimax/minimax-m2", + messages=[{"role": "user", "content": "Hello"}] + ) + print(response.choices[0].message.content) + +asyncio.run(main()) +``` + +## Installation + +```bash +# Using uv (recommended) +uv add openrouter + +# Using pip +pip install openrouter + +# Using poetry +poetry add openrouter +``` + +**Requirements:** Python 3.9 or higher + +Get your API key from [openrouter.ai/settings/keys](https://openrouter.ai/settings/keys). + +## Quick start + +```python +from openrouter import OpenRouter +import os + +with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY") +) as client: + response = client.chat.send( + model="minimax/minimax-m2", + messages=[ + {"role": "user", "content": "Hello!"} + ] + ) + + print(response.choices[0].message.content) +``` diff --git a/.github/skills/openrouter-python-sdk/references/documentation/overview/README-PYPI.md b/.github/skills/openrouter-python-sdk/references/documentation/overview/README-PYPI.md new file mode 100644 index 000000000..8dd9349aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/overview/README-PYPI.md @@ -0,0 +1,253 @@ +# OpenRouter SDK (Beta) + +The [OpenRouter SDK](https://openrouter.ai/docs/sdks/python) is a Python toolkit designed to help you build AI-powered features and solutions. Giving you easy access to over 300 models across providers in an easy and type-safe way. + +To learn more about how to use the OpenRouter SDK, check out our [API Reference](https://openrouter.ai/docs/sdks/python/reference) and [Documentation](https://openrouter.ai/docs/sdks/python). + + + + + + +## SDK Installation + +> [!NOTE] +> **Python version upgrade policy** +> +> Once a Python version reaches its [official end of life date](https://devguide.python.org/versions/), a 3-month grace period is provided for users to upgrade. Following this grace period, the minimum python version supported in the SDK will be updated. + +The SDK can be installed with *uv*, *pip*, or *poetry* package managers. + +### uv + +*uv* is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities. + +```bash +uv add openrouter +``` + +### PIP + +*PIP* is the default package installer for Python, enabling easy installation and management of packages from PyPI via the command line. + +```bash +pip install openrouter +``` + +### Poetry + +*Poetry* is a modern tool that simplifies dependency management and package publishing by using a single `pyproject.toml` file to handle project metadata and dependencies. + +```bash +poetry add openrouter +``` + +### Shell and script usage with `uv` + +You can use this SDK in a Python shell with [uv](https://docs.astral.sh/uv/) and the `uvx` command that comes with it like so: + +```shell +uvx --from openrouter python +``` + +It's also possible to write a standalone Python script without needing to set up a whole project like so: + +```python +#!/usr/bin/env -S uv run --script +# /// script +# requires-python = ">=3.9" +# dependencies = [ +# "openrouter", +# ] +# /// + +from openrouter import OpenRouter + +sdk = OpenRouter( + # SDK arguments +) + +# Rest of script here... +``` + +Once that is saved to a file, you can run it with `uv run script.py` where +`script.py` can be replaced with the actual file name. + + + +## Requirements + +This SDK requires Python 3.9 or higher. For Python version support policy, see the SDK Installation section above. + + + +## IDE Support + +### PyCharm + +Generally, the SDK will work well with most IDEs out of the box. However, when using PyCharm, you can enjoy much better integration with Pydantic by installing an additional plugin. + +- [PyCharm Pydantic Plugin](https://docs.pydantic.dev/latest/integrations/pycharm/) + + + +## SDK Usage + +```python +# Synchronous Example +from openrouter import OpenRouter +import os + + +with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.chat.send(messages=[ + { + "role": "user", + "content": "Hello, how are you?", + }, + ], model="anthropic/claude-4.5-sonnet", provider={ + "zdr": True, + "sort": "price", + }, stream=True) + + for event in event_stream: + # handle event + print(event, flush=True) +``` + +
+ +The same SDK client can also be used to make asynchronous requests by importing asyncio. + +```python +# Asynchronous Example +import asyncio +from openrouter import OpenRouter +import os + +async def main(): + + async with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + + res = await open_router.chat.send_async(messages=[ + { + "role": "user", + "content": "Hello, how are you?", + }, + ], model="anthropic/claude-4.5-sonnet", provider={ + "zdr": True, + "sort": "price", + }, stream=True) + + async for event in event_stream: + # handle event + print(event, flush=True) + +asyncio.run(main()) +``` + + + + + + + + + + + + + + + + + + + + +## Resource Management + +The `OpenRouter` class implements the context manager protocol and registers a finalizer function to close the underlying sync and async HTTPX clients it uses under the hood. This will close HTTP connections, release memory and free up other resources held by the SDK. In short-lived Python programs and notebooks that make a few SDK method calls, resource management may not be a concern. However, in longer-lived programs, it is beneficial to create a single SDK instance via a [context manager][context-manager] and reuse it across the application. + +[context-manager]: https://docs.python.org/3/reference/datamodel.html#context-managers + +```python +from openrouter import OpenRouter +import os +def main(): + + with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + # Rest of application here... + + +# Or when using async: +async def amain(): + + async with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + # Rest of application here... +``` + + + +## Debugging + +You can setup your SDK to emit debug logs for SDK requests and responses. + +You can pass your own logger class directly into your SDK. +```python +from openrouter import OpenRouter +import logging + +logging.basicConfig(level=logging.DEBUG) +s = OpenRouter(debug_logger=logging.getLogger("openrouter")) +``` + +You can also enable a default debug logger by setting an environment variable `OPENROUTER_DEBUG` to true. + + + + +# Development + +## Running Tests + +To run the test suite, you'll need to set up your environment with an OpenRouter API key. + +### Local Development + +1. Copy the example environment file: + + ```bash + cp .env.example .env + ``` + +2. Edit `.env` and add your OpenRouter API key: + + ```bash + OPENROUTER_API_KEY=your_api_key_here + ``` + +3. Run the tests: + + ```bash + pytest + ``` + +## Maturity + +This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage +to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally +looking for the latest version. \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/overview/README.md b/.github/skills/openrouter-python-sdk/references/documentation/overview/README.md new file mode 100644 index 000000000..8dd9349aa --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/overview/README.md @@ -0,0 +1,253 @@ +# OpenRouter SDK (Beta) + +The [OpenRouter SDK](https://openrouter.ai/docs/sdks/python) is a Python toolkit designed to help you build AI-powered features and solutions. Giving you easy access to over 300 models across providers in an easy and type-safe way. + +To learn more about how to use the OpenRouter SDK, check out our [API Reference](https://openrouter.ai/docs/sdks/python/reference) and [Documentation](https://openrouter.ai/docs/sdks/python). + + + + + + +## SDK Installation + +> [!NOTE] +> **Python version upgrade policy** +> +> Once a Python version reaches its [official end of life date](https://devguide.python.org/versions/), a 3-month grace period is provided for users to upgrade. Following this grace period, the minimum python version supported in the SDK will be updated. + +The SDK can be installed with *uv*, *pip*, or *poetry* package managers. + +### uv + +*uv* is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities. + +```bash +uv add openrouter +``` + +### PIP + +*PIP* is the default package installer for Python, enabling easy installation and management of packages from PyPI via the command line. + +```bash +pip install openrouter +``` + +### Poetry + +*Poetry* is a modern tool that simplifies dependency management and package publishing by using a single `pyproject.toml` file to handle project metadata and dependencies. + +```bash +poetry add openrouter +``` + +### Shell and script usage with `uv` + +You can use this SDK in a Python shell with [uv](https://docs.astral.sh/uv/) and the `uvx` command that comes with it like so: + +```shell +uvx --from openrouter python +``` + +It's also possible to write a standalone Python script without needing to set up a whole project like so: + +```python +#!/usr/bin/env -S uv run --script +# /// script +# requires-python = ">=3.9" +# dependencies = [ +# "openrouter", +# ] +# /// + +from openrouter import OpenRouter + +sdk = OpenRouter( + # SDK arguments +) + +# Rest of script here... +``` + +Once that is saved to a file, you can run it with `uv run script.py` where +`script.py` can be replaced with the actual file name. + + + +## Requirements + +This SDK requires Python 3.9 or higher. For Python version support policy, see the SDK Installation section above. + + + +## IDE Support + +### PyCharm + +Generally, the SDK will work well with most IDEs out of the box. However, when using PyCharm, you can enjoy much better integration with Pydantic by installing an additional plugin. + +- [PyCharm Pydantic Plugin](https://docs.pydantic.dev/latest/integrations/pycharm/) + + + +## SDK Usage + +```python +# Synchronous Example +from openrouter import OpenRouter +import os + + +with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.chat.send(messages=[ + { + "role": "user", + "content": "Hello, how are you?", + }, + ], model="anthropic/claude-4.5-sonnet", provider={ + "zdr": True, + "sort": "price", + }, stream=True) + + for event in event_stream: + # handle event + print(event, flush=True) +``` + +
+ +The same SDK client can also be used to make asynchronous requests by importing asyncio. + +```python +# Asynchronous Example +import asyncio +from openrouter import OpenRouter +import os + +async def main(): + + async with OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + + res = await open_router.chat.send_async(messages=[ + { + "role": "user", + "content": "Hello, how are you?", + }, + ], model="anthropic/claude-4.5-sonnet", provider={ + "zdr": True, + "sort": "price", + }, stream=True) + + async for event in event_stream: + # handle event + print(event, flush=True) + +asyncio.run(main()) +``` + + + + + + + + + + + + + + + + + + + + +## Resource Management + +The `OpenRouter` class implements the context manager protocol and registers a finalizer function to close the underlying sync and async HTTPX clients it uses under the hood. This will close HTTP connections, release memory and free up other resources held by the SDK. In short-lived Python programs and notebooks that make a few SDK method calls, resource management may not be a concern. However, in longer-lived programs, it is beneficial to create a single SDK instance via a [context manager][context-manager] and reuse it across the application. + +[context-manager]: https://docs.python.org/3/reference/datamodel.html#context-managers + +```python +from openrouter import OpenRouter +import os +def main(): + + with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + # Rest of application here... + + +# Or when using async: +async def amain(): + + async with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + # Rest of application here... +``` + + + +## Debugging + +You can setup your SDK to emit debug logs for SDK requests and responses. + +You can pass your own logger class directly into your SDK. +```python +from openrouter import OpenRouter +import logging + +logging.basicConfig(level=logging.DEBUG) +s = OpenRouter(debug_logger=logging.getLogger("openrouter")) +``` + +You can also enable a default debug logger by setting an environment variable `OPENROUTER_DEBUG` to true. + + + + +# Development + +## Running Tests + +To run the test suite, you'll need to set up your environment with an OpenRouter API key. + +### Local Development + +1. Copy the example environment file: + + ```bash + cp .env.example .env + ``` + +2. Edit `.env` and add your OpenRouter API key: + + ```bash + OPENROUTER_API_KEY=your_api_key_here + ``` + +3. Run the tests: + + ```bash + pytest + ``` + +## Maturity + +This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage +to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally +looking for the latest version. \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/overview/RELEASES.md b/.github/skills/openrouter-python-sdk/references/documentation/overview/RELEASES.md new file mode 100644 index 000000000..0d0d01f87 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/overview/RELEASES.md @@ -0,0 +1,11 @@ + + +## 2025-11-15 18:16:18 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.658.1 (2.755.6) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.0.16] . +### Releases +- [PyPI v0.0.16] https://pypi.org/project/openrouter/0.0.16 - . \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/documentation/overview/USAGE.md b/.github/skills/openrouter-python-sdk/references/documentation/overview/USAGE.md new file mode 100644 index 000000000..96d28830b --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/documentation/overview/USAGE.md @@ -0,0 +1,49 @@ + +```python +# Synchronous Example +from openrouter import OpenRouter +import os + + +with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), +) as open_router: + + res = open_router.beta.responses.send(service_tier="auto", stream=False) + + with res as event_stream: + for event in event_stream: + # handle event + print(event, flush=True) +``` + +
+ +The same SDK client can also be used to make asynchronous requests by importing asyncio. + +```python +# Asynchronous Example +import asyncio +from openrouter import OpenRouter +import os + +async def main(): + + async with OpenRouter( + http_referer="", + x_title="", + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) as open_router: + + res = await open_router.beta.responses.send_async(service_tier="auto", stream=False) + + async with res as event_stream: + async for event in event_stream: + # handle event + print(event, flush=True) + +asyncio.run(main()) +``` + \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/patterns/all_patterns.json b/.github/skills/openrouter-python-sdk/references/patterns/all_patterns.json new file mode 100644 index 000000000..3b4b81a51 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/patterns/all_patterns.json @@ -0,0 +1,11214 @@ +[ + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "class_name": "SDKHooks", + "method_name": null, + "line_number": 19, + "evidence": [ + "Implements interface: Hooks", + "Has 9 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "class_name": "SDKHooks", + "method_name": null, + "line_number": 19, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [] + }, + { + "pattern_type": "TemplateMethod", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "class_name": "SDKHooks", + "method_name": null, + "line_number": 19, + "evidence": [ + "Has hook methods: register_sdk_init_hook, register_before_request_hook, register_after_success_hook", + "Has abstract methods: __init__" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Adapter": 1, + "Observer": 1, + "TemplateMethod": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "HookContext", + "method_name": null, + "line_number": 9, + "evidence": [ + "Strategy base with implementations: BeforeRequestContext, AfterSuccessContext, AfterErrorContext" + ], + "related_classes": [ + "BeforeRequestContext", + "AfterSuccessContext", + "AfterErrorContext" + ] + }, + { + "pattern_type": "TemplateMethod", + "category": "Behavioral", + "confidence": 0.6000000000000001, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "HookContext", + "method_name": null, + "line_number": 9, + "evidence": [ + "Base class with 3 implementations", + "Has abstract methods: __init__" + ], + "related_classes": [ + "BeforeRequestContext", + "AfterSuccessContext", + "AfterErrorContext" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "BeforeRequestContext", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: AfterSuccessContext, AfterErrorContext" + ], + "related_classes": [ + "HookContext" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterSuccessContext", + "method_name": null, + "line_number": 42, + "evidence": [ + "Part of strategy family with: BeforeRequestContext, AfterErrorContext" + ], + "related_classes": [ + "HookContext" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterErrorContext", + "method_name": null, + "line_number": 53, + "evidence": [ + "Part of strategy family with: BeforeRequestContext, AfterSuccessContext" + ], + "related_classes": [ + "HookContext" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "SDKInitHook", + "method_name": "sdk_init", + "line_number": 66, + "evidence": [ + "Method uses decorators: ['abstractmethod']" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "SDKInitHook", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: BeforeRequestHook, AfterSuccessHook, AfterErrorHook", + "Strategy interface method: sdk_init" + ], + "related_classes": [ + "ABC" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "BeforeRequestHook", + "method_name": "before_request", + "line_number": 72, + "evidence": [ + "Method uses decorators: ['abstractmethod']" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "BeforeRequestHook", + "method_name": null, + "line_number": 70, + "evidence": [ + "Part of strategy family with: SDKInitHook, AfterSuccessHook, AfterErrorHook", + "Strategy interface method: before_request" + ], + "related_classes": [ + "ABC" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterSuccessHook", + "method_name": "after_success", + "line_number": 80, + "evidence": [ + "Method uses decorators: ['abstractmethod']" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterSuccessHook", + "method_name": null, + "line_number": 78, + "evidence": [ + "Part of strategy family with: SDKInitHook, BeforeRequestHook, AfterErrorHook", + "Strategy interface method: after_success" + ], + "related_classes": [ + "ABC" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterErrorHook", + "method_name": "after_error", + "line_number": 88, + "evidence": [ + "Method uses decorators: ['abstractmethod']" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterErrorHook", + "method_name": null, + "line_number": 86, + "evidence": [ + "Part of strategy family with: SDKInitHook, BeforeRequestHook, AfterSuccessHook", + "Strategy interface method: after_error" + ], + "related_classes": [ + "ABC" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": "register_sdk_init_hook", + "line_number": 99, + "evidence": [ + "Method uses decorators: ['abstractmethod']" + ], + "related_classes": [] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": null, + "line_number": 97, + "evidence": [ + "Implements interface: ABC", + "Has 4 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": null, + "line_number": 97, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: SDKInitHook, BeforeRequestHook, AfterSuccessHook" + ], + "related_classes": [ + "ABC" + ] + } + ], + "total_classes": 9, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 9, + "TemplateMethod": 1, + "Decorator": 5, + "Adapter": 1, + "Observer": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py", + "class_name": "Analytics", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_user_activity", + "Factory method: get_user_activity_async", + "Multiple factory methods: get_user_activity, get_user_activity_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Factory method: get_current_key_metadata", + "Factory method: get_current_key_metadata_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + }, + { + "pattern_type": "Builder", + "category": "Creational", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Has terminal build/create method" + ], + "related_classes": [] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Implements interface: BaseSDK", + "Has 12 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Notify method: update", + "Notify method: update_async" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Builder": 1, + "Adapter": 1, + "Observer": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py", + "class_name": "BaseSDK", + "method_name": null, + "line_number": 16, + "evidence": [ + "Parameterized factory method: _get_url", + "Parameterized factory method: _build_request_async", + "Parameterized factory method: _build_request", + "Parameterized factory method: _build_request_with_client", + "Multiple factory methods: _get_url, _build_request_async, _build_request" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 2, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/chat.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/chat.py", + "class_name": "Chat", + "method_name": "send", + "line_number": 20, + "evidence": [ + "Method uses decorators: ['overload']" + ], + "related_classes": [] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/chat.py", + "class_name": "Chat", + "method_name": null, + "line_number": 18, + "evidence": [ + "Implements interface: BaseSDK", + "Has 6 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1, + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessage.py", + "class_name": "AssistantMessage", + "method_name": "serialize_model", + "line_number": 89, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessageimages.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessageimages.py", + "class_name": "AssistantMessageImagesImageURLTypedDict", + "method_name": null, + "line_number": 8, + "evidence": [ + "Part of strategy family with: AssistantMessageImagesTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessageimages.py", + "class_name": "AssistantMessageImagesImageURL", + "method_name": null, + "line_number": 13, + "evidence": [ + "Part of strategy family with: AssistantMessageImages" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessageimages.py", + "class_name": "AssistantMessageImagesTypedDict", + "method_name": null, + "line_number": 18, + "evidence": [ + "Part of strategy family with: AssistantMessageImagesImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/assistantmessageimages.py", + "class_name": "AssistantMessageImages", + "method_name": null, + "line_number": 22, + "evidence": [ + "Part of strategy family with: AssistantMessageImagesImageURL" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/badgatewayresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/badgatewayresponseerrordata.py", + "class_name": "BadGatewayResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/badrequestresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/badrequestresponseerrordata.py", + "class_name": "BadRequestResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProviderSortConfigTypedDict", + "method_name": null, + "line_number": 123, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict, ChatGenerationParamsPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProviderSortConfig", + "method_name": "serialize_model", + "line_number": 144, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProviderSortConfig", + "method_name": null, + "line_number": 130, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider, ChatGenerationParamsPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsMaxPriceTypedDict", + "method_name": null, + "line_number": 229, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsProviderTypedDict, ChatGenerationParamsPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsMaxPrice", + "method_name": null, + "line_number": 240, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsProvider, ChatGenerationParamsPluginResponseHealing" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProviderTypedDict", + "method_name": null, + "line_number": 255, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProvider", + "method_name": "serialize_model", + "line_number": 347, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProvider", + "method_name": null, + "line_number": 293, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginResponseHealingTypedDict", + "method_name": null, + "line_number": 407, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginResponseHealing", + "method_name": null, + "line_number": 413, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginFileParserTypedDict", + "method_name": null, + "line_number": 423, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginFileParser", + "method_name": null, + "line_number": 431, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginWebTypedDict", + "method_name": null, + "line_number": 444, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginWeb", + "method_name": null, + "line_number": 454, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginModerationTypedDict", + "method_name": null, + "line_number": 473, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginModeration", + "method_name": null, + "line_number": 477, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginAutoRouterTypedDict", + "method_name": null, + "line_number": 484, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsPluginAutoRouter", + "method_name": null, + "line_number": 492, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTraceTypedDict", + "method_name": null, + "line_number": 526, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTrace", + "method_name": "additional_properties", + "line_number": 555, + "evidence": [ + "Method uses decorators: ['property']" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTrace", + "method_name": null, + "line_number": 536, + "evidence": [ + "Attach method: additional_properties", + "Attach method: additional_properties" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTrace", + "method_name": null, + "line_number": 536, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: additional_properties" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ReasoningTypedDict", + "method_name": null, + "line_number": 577, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "Reasoning", + "method_name": "serialize_model", + "line_number": 596, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "Reasoning", + "method_name": null, + "line_number": 585, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTypedDict", + "method_name": null, + "line_number": 679, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfigTypedDict, ChatGenerationParamsMaxPriceTypedDict, ChatGenerationParamsProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParams", + "method_name": "serialize_model", + "line_number": 838, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParams", + "method_name": null, + "line_number": 743, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 22, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 22, + "Decorator": 5, + "Observer": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "CompletionTokensDetailsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: PromptTokensDetailsTypedDict, ChatGenerationTokenUsageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "CompletionTokensDetails", + "method_name": "serialize_model", + "line_number": 45, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "CompletionTokensDetails", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: PromptTokensDetails, ChatGenerationTokenUsage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "PromptTokensDetailsTypedDict", + "method_name": null, + "line_number": 85, + "evidence": [ + "Part of strategy family with: CompletionTokensDetailsTypedDict, ChatGenerationTokenUsageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "PromptTokensDetails", + "method_name": null, + "line_number": 98, + "evidence": [ + "Part of strategy family with: CompletionTokensDetails, ChatGenerationTokenUsage" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "ChatGenerationTokenUsageTypedDict", + "method_name": null, + "line_number": 114, + "evidence": [ + "Part of strategy family with: CompletionTokensDetailsTypedDict, PromptTokensDetailsTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "ChatGenerationTokenUsage", + "method_name": "serialize_model", + "line_number": 148, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "ChatGenerationTokenUsage", + "method_name": null, + "line_number": 129, + "evidence": [ + "Part of strategy family with: CompletionTokensDetails, PromptTokensDetails", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemaudio.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemaudio.py", + "class_name": "ChatMessageContentItemAudioInputAudioTypedDict", + "method_name": null, + "line_number": 13, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemAudioTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemaudio.py", + "class_name": "ChatMessageContentItemAudioInputAudio", + "method_name": null, + "line_number": 20, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemAudio" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemaudio.py", + "class_name": "ChatMessageContentItemAudioTypedDict", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemAudioInputAudioTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemaudio.py", + "class_name": "ChatMessageContentItemAudio", + "method_name": null, + "line_number": 35, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemAudioInputAudio" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemimage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemimage.py", + "class_name": "ChatMessageContentItemImageImageURLTypedDict", + "method_name": null, + "line_number": 25, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemImageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemimage.py", + "class_name": "ChatMessageContentItemImageImageURL", + "method_name": null, + "line_number": 32, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemImage" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemimage.py", + "class_name": "ChatMessageContentItemImageTypedDict", + "method_name": null, + "line_number": 43, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemImageImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagecontentitemimage.py", + "class_name": "ChatMessageContentItemImage", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: ChatMessageContentItemImageImageURL" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprobTopLogprobTypedDict", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprobTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprobTopLogprob", + "method_name": "serialize_model", + "line_number": 25, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprobTopLogprob", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprob", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprobTypedDict", + "method_name": null, + "line_number": 55, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprobTopLogprobTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprob", + "method_name": "serialize_model", + "line_number": 84, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprob", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprobTopLogprob", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprobs.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprobs.py", + "class_name": "ChatMessageTokenLogprobs", + "method_name": "serialize_model", + "line_number": 33, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetoolcall.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetoolcall.py", + "class_name": "ChatMessageToolCallFunctionTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: ChatMessageToolCallTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetoolcall.py", + "class_name": "ChatMessageToolCallFunction", + "method_name": null, + "line_number": 19, + "evidence": [ + "Part of strategy family with: ChatMessageToolCall" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetoolcall.py", + "class_name": "ChatMessageToolCallTypedDict", + "method_name": null, + "line_number": 27, + "evidence": [ + "Part of strategy family with: ChatMessageToolCallFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetoolcall.py", + "class_name": "ChatMessageToolCall", + "method_name": null, + "line_number": 36, + "evidence": [ + "Part of strategy family with: ChatMessageToolCallFunction" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatresponse.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatresponse.py", + "class_name": "ChatResponse", + "method_name": "serialize_model", + "line_number": 66, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatresponsechoice.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatresponsechoice.py", + "class_name": "ChatResponseChoice", + "method_name": "serialize_model", + "line_number": 48, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingchoice.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingchoice.py", + "class_name": "ChatStreamingChoice", + "method_name": "serialize_model", + "line_number": 51, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagechunk.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagechunk.py", + "class_name": "ChatStreamingMessageChunk", + "method_name": "serialize_model", + "line_number": 64, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagetoolcall.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagetoolcall.py", + "class_name": "ChatStreamingMessageToolCallFunctionTypedDict", + "method_name": null, + "line_number": 13, + "evidence": [ + "Part of strategy family with: ChatStreamingMessageToolCallTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagetoolcall.py", + "class_name": "ChatStreamingMessageToolCallFunction", + "method_name": null, + "line_number": 22, + "evidence": [ + "Part of strategy family with: ChatStreamingMessageToolCall" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagetoolcall.py", + "class_name": "ChatStreamingMessageToolCallTypedDict", + "method_name": null, + "line_number": 32, + "evidence": [ + "Part of strategy family with: ChatStreamingMessageToolCallFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingmessagetoolcall.py", + "class_name": "ChatStreamingMessageToolCall", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: ChatStreamingMessageToolCallFunction" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "ErrorTypedDict", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: ChatStreamingResponseChunkTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "Error", + "method_name": null, + "line_number": 33, + "evidence": [ + "Part of strategy family with: ChatStreamingResponseChunk" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "ChatStreamingResponseChunkTypedDict", + "method_name": null, + "line_number": 43, + "evidence": [ + "Part of strategy family with: ErrorTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "ChatStreamingResponseChunk", + "method_name": "serialize_model", + "line_number": 90, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "ChatStreamingResponseChunk", + "method_name": null, + "line_number": 63, + "evidence": [ + "Part of strategy family with: Error", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/defaultparameters.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/defaultparameters.py", + "class_name": "DefaultParameters", + "method_name": "serialize_model", + "line_number": 33, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/edgenetworktimeoutresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/edgenetworktimeoutresponseerrordata.py", + "class_name": "EdgeNetworkTimeoutResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/forbiddenresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/forbiddenresponseerrordata.py", + "class_name": "ForbiddenResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/internalserverresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/internalserverresponseerrordata.py", + "class_name": "InternalServerResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/jsonschemaconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/jsonschemaconfig.py", + "class_name": "JSONSchemaConfig", + "method_name": "serialize_model", + "line_number": 48, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "ArchitectureTypedDict", + "method_name": null, + "line_number": 43, + "evidence": [ + "Part of strategy family with: ListEndpointsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "Architecture", + "method_name": "serialize_model", + "line_number": 81, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "Architecture", + "method_name": null, + "line_number": 57, + "evidence": [ + "Part of strategy family with: ListEndpointsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "ListEndpointsResponseTypedDict", + "method_name": null, + "line_number": 111, + "evidence": [ + "Part of strategy family with: ArchitectureTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "ListEndpointsResponse", + "method_name": null, + "line_number": 127, + "evidence": [ + "Part of strategy family with: Architecture" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/model.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/model.py", + "class_name": "Model", + "method_name": "serialize_model", + "line_number": 105, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelarchitecture.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelarchitecture.py", + "class_name": "ModelArchitecture", + "method_name": "serialize_model", + "line_number": 95, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelscountresponse.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelscountresponse.py", + "class_name": "DataTypedDict", + "method_name": null, + "line_number": 8, + "evidence": [ + "Part of strategy family with: ModelsCountResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelscountresponse.py", + "class_name": "Data", + "method_name": null, + "line_number": 15, + "evidence": [ + "Part of strategy family with: ModelsCountResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelscountresponse.py", + "class_name": "ModelsCountResponseTypedDict", + "method_name": null, + "line_number": 22, + "evidence": [ + "Part of strategy family with: DataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/modelscountresponse.py", + "class_name": "ModelsCountResponse", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: Data" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/namedtoolchoice.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/namedtoolchoice.py", + "class_name": "NamedToolChoiceFunctionTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: NamedToolChoiceTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/namedtoolchoice.py", + "class_name": "NamedToolChoiceFunction", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: NamedToolChoice" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/namedtoolchoice.py", + "class_name": "NamedToolChoiceTypedDict", + "method_name": null, + "line_number": 22, + "evidence": [ + "Part of strategy family with: NamedToolChoiceFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/namedtoolchoice.py", + "class_name": "NamedToolChoice", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: NamedToolChoiceFunction" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/notfoundresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/notfoundresponseerrordata.py", + "class_name": "NotFoundResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCallTypedDict", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallOutputTypedDict, OpenAIResponsesInputMessage2TypedDict, OpenAIResponsesInputMessage1TypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCall", + "method_name": "serialize_model", + "line_number": 56, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCall", + "method_name": null, + "line_number": 40, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallOutput, OpenAIResponsesInputMessage2, OpenAIResponsesInputMessage1", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCallOutputTypedDict", + "method_name": null, + "line_number": 89, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallTypedDict, OpenAIResponsesInputMessage2TypedDict, OpenAIResponsesInputMessage1TypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCallOutput", + "method_name": "serialize_model", + "line_number": 111, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCallOutput", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCall, OpenAIResponsesInputMessage2, OpenAIResponsesInputMessage1", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputMessage2TypedDict", + "method_name": null, + "line_number": 195, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallTypedDict, OpenAIResponsesInputFunctionCallOutputTypedDict, OpenAIResponsesInputMessage1TypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputMessage2", + "method_name": null, + "line_number": 202, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCall, OpenAIResponsesInputFunctionCallOutput, OpenAIResponsesInputMessage1" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputMessage1TypedDict", + "method_name": null, + "line_number": 282, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallTypedDict, OpenAIResponsesInputFunctionCallOutputTypedDict, OpenAIResponsesInputMessage2TypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputMessage1", + "method_name": null, + "line_number": 288, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCall, OpenAIResponsesInputFunctionCallOutput, OpenAIResponsesInputMessage2" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesprompt.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesprompt.py", + "class_name": "OpenAIResponsesPrompt", + "method_name": "serialize_model", + "line_number": 46, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesreasoningconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesreasoningconfig.py", + "class_name": "OpenAIResponsesReasoningConfig", + "method_name": "serialize_model", + "line_number": 36, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsestoolchoice_union.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsestoolchoice_union.py", + "class_name": "OpenAIResponsesToolChoiceTypedDict", + "method_name": null, + "line_number": 35, + "evidence": [ + "Part of strategy family with: OpenAIResponsesToolChoiceFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsestoolchoice_union.py", + "class_name": "OpenAIResponsesToolChoice", + "method_name": null, + "line_number": 39, + "evidence": [ + "Part of strategy family with: OpenAIResponsesToolChoiceFunction" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsestoolchoice_union.py", + "class_name": "OpenAIResponsesToolChoiceFunctionTypedDict", + "method_name": null, + "line_number": 46, + "evidence": [ + "Part of strategy family with: OpenAIResponsesToolChoiceTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsestoolchoice_union.py", + "class_name": "OpenAIResponsesToolChoiceFunction", + "method_name": null, + "line_number": 51, + "evidence": [ + "Part of strategy family with: OpenAIResponsesToolChoice" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessageContentInputImageTypedDict", + "method_name": null, + "line_number": 73, + "evidence": [ + "Part of strategy family with: OpenResponsesEasyInputMessageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessageContentInputImage", + "method_name": "serialize_model", + "line_number": 93, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessageContentInputImage", + "method_name": null, + "line_number": 81, + "evidence": [ + "Part of strategy family with: OpenResponsesEasyInputMessage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessageTypedDict", + "method_name": null, + "line_number": 159, + "evidence": [ + "Part of strategy family with: OpenResponsesEasyInputMessageContentInputImageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessage", + "method_name": null, + "line_number": 165, + "evidence": [ + "Part of strategy family with: OpenResponsesEasyInputMessageContentInputImage" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseserrorevent.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseserrorevent.py", + "class_name": "OpenResponsesErrorEvent", + "method_name": "serialize_model", + "line_number": 37, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesfunctioncalloutput.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesfunctioncalloutput.py", + "class_name": "OpenResponsesFunctionCallOutput", + "method_name": "serialize_model", + "line_number": 48, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesfunctiontoolcall.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesfunctiontoolcall.py", + "class_name": "OpenResponsesFunctionToolCall", + "method_name": "serialize_model", + "line_number": 51, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItemContentInputImageTypedDict", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: OpenResponsesInputMessageItemTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItemContentInputImage", + "method_name": "serialize_model", + "line_number": 88, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItemContentInputImage", + "method_name": null, + "line_number": 76, + "evidence": [ + "Part of strategy family with: OpenResponsesInputMessageItem", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItemTypedDict", + "method_name": null, + "line_number": 142, + "evidence": [ + "Part of strategy family with: OpenResponsesInputMessageItemContentInputImageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItem", + "method_name": null, + "line_number": 149, + "evidence": [ + "Part of strategy family with: OpenResponsesInputMessageItemContentInputImage" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponseToolFunctionTypedDict", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponseToolFunction", + "method_name": "serialize_model", + "line_number": 88, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponseToolFunction", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponseTypedDict", + "method_name": null, + "line_number": 145, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponseToolFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponse", + "method_name": "serialize_model", + "line_number": 272, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponse", + "method_name": null, + "line_number": 188, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponseToolFunction", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesreasoning.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesreasoning.py", + "class_name": "OpenResponsesReasoning", + "method_name": "serialize_model", + "line_number": 106, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesreasoningconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesreasoningconfig.py", + "class_name": "OpenResponsesReasoningConfig", + "method_name": "serialize_model", + "line_number": 46, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestToolFunctionTypedDict", + "method_name": null, + "line_number": 67, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict, OpenResponsesRequestPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestToolFunction", + "method_name": "serialize_model", + "line_number": 91, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestToolFunction", + "method_name": null, + "line_number": 77, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider, OpenResponsesRequestPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestMaxPriceTypedDict", + "method_name": null, + "line_number": 221, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestProviderTypedDict, OpenResponsesRequestPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestMaxPrice", + "method_name": null, + "line_number": 232, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestProvider, OpenResponsesRequestPluginResponseHealing" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestProviderTypedDict", + "method_name": null, + "line_number": 247, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestPluginResponseHealingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestProvider", + "method_name": "serialize_model", + "line_number": 341, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestProvider", + "method_name": null, + "line_number": 286, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginResponseHealingTypedDict", + "method_name": null, + "line_number": 401, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginResponseHealing", + "method_name": null, + "line_number": 407, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginFileParserTypedDict", + "method_name": null, + "line_number": 417, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginFileParser", + "method_name": null, + "line_number": 425, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginWebTypedDict", + "method_name": null, + "line_number": 438, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginWeb", + "method_name": null, + "line_number": 448, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginModerationTypedDict", + "method_name": null, + "line_number": 467, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginModeration", + "method_name": null, + "line_number": 471, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginAutoRouterTypedDict", + "method_name": null, + "line_number": 478, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestPluginAutoRouter", + "method_name": null, + "line_number": 486, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTraceTypedDict", + "method_name": null, + "line_number": 520, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTrace", + "method_name": "additional_properties", + "line_number": 549, + "evidence": [ + "Method uses decorators: ['property']" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTrace", + "method_name": null, + "line_number": 530, + "evidence": [ + "Attach method: additional_properties", + "Attach method: additional_properties" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTrace", + "method_name": null, + "line_number": 530, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider", + "Strategy interface method: additional_properties" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTypedDict", + "method_name": null, + "line_number": 557, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunctionTypedDict, OpenResponsesRequestMaxPriceTypedDict, OpenResponsesRequestProviderTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequest", + "method_name": "serialize_model", + "line_number": 710, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequest", + "method_name": null, + "line_number": 608, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 20, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 20, + "Decorator": 4, + "Observer": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesresponsetext.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesresponsetext.py", + "class_name": "OpenResponsesResponseText", + "method_name": "serialize_model", + "line_number": 56, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict", + "method_name": null, + "line_number": 71, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict, OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseReasoningSummaryPartDone", + "method_name": null, + "line_number": 82, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta, OpenResponsesStreamEventResponseOutputTextAnnotationAdded" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict", + "method_name": null, + "line_number": 103, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict, OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDone", + "method_name": null, + "line_number": 114, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta, OpenResponsesStreamEventResponseOutputTextAnnotationAdded" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict", + "method_name": null, + "line_number": 135, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFunctionCallArgumentsDelta", + "method_name": null, + "line_number": 145, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseOutputTextAnnotationAdded" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextAnnotationAddedTypedDict", + "method_name": null, + "line_number": 164, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextAnnotationAdded", + "method_name": null, + "line_number": 176, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseRefusalDoneTypedDict", + "method_name": null, + "line_number": 197, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseRefusalDone", + "method_name": null, + "line_number": 208, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseRefusalDeltaTypedDict", + "method_name": null, + "line_number": 227, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseRefusalDelta", + "method_name": null, + "line_number": 238, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextDoneTypedDict", + "method_name": null, + "line_number": 257, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextDone", + "method_name": null, + "line_number": 269, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextDeltaTypedDict", + "method_name": null, + "line_number": 290, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputTextDelta", + "method_name": null, + "line_number": 302, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseContentPartDoneTypedDict", + "method_name": null, + "line_number": 343, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseContentPartDone", + "method_name": null, + "line_number": 354, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseContentPartAddedTypedDict", + "method_name": null, + "line_number": 393, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseContentPartAdded", + "method_name": null, + "line_number": 404, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputItemDoneTypedDict", + "method_name": null, + "line_number": 423, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputItemDone", + "method_name": null, + "line_number": 433, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputItemAddedTypedDict", + "method_name": null, + "line_number": 449, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseOutputItemAdded", + "method_name": null, + "line_number": 459, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFailedTypedDict", + "method_name": null, + "line_number": 475, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseFailed", + "method_name": null, + "line_number": 484, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseIncompleteTypedDict", + "method_name": null, + "line_number": 498, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseIncomplete", + "method_name": null, + "line_number": 507, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseCompletedTypedDict", + "method_name": null, + "line_number": 521, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseCompleted", + "method_name": null, + "line_number": 530, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseInProgressTypedDict", + "method_name": null, + "line_number": 544, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseInProgress", + "method_name": null, + "line_number": 553, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseCreatedTypedDict", + "method_name": null, + "line_number": 567, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDoneTypedDict, OpenResponsesStreamEventResponseFunctionCallArgumentsDeltaTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesstreamevent.py", + "class_name": "OpenResponsesStreamEventResponseCreated", + "method_name": null, + "line_number": 576, + "evidence": [ + "Part of strategy family with: OpenResponsesStreamEventResponseReasoningSummaryPartDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDone, OpenResponsesStreamEventResponseFunctionCallArgumentsDelta" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 34, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 34 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "InputTokensDetailsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: OutputTokensDetailsTypedDict, CostDetailsTypedDict, OpenResponsesUsageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "InputTokensDetails", + "method_name": null, + "line_number": 20, + "evidence": [ + "Part of strategy family with: OutputTokensDetails, CostDetails, OpenResponsesUsage" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OutputTokensDetailsTypedDict", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: InputTokensDetailsTypedDict, CostDetailsTypedDict, OpenResponsesUsageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OutputTokensDetails", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: InputTokensDetails, CostDetails, OpenResponsesUsage" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "CostDetailsTypedDict", + "method_name": null, + "line_number": 32, + "evidence": [ + "Part of strategy family with: InputTokensDetailsTypedDict, OutputTokensDetailsTypedDict, OpenResponsesUsageTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "CostDetails", + "method_name": "serialize_model", + "line_number": 46, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "CostDetails", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: InputTokensDetails, OutputTokensDetails, OpenResponsesUsage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OpenResponsesUsageTypedDict", + "method_name": null, + "line_number": 76, + "evidence": [ + "Part of strategy family with: InputTokensDetailsTypedDict, OutputTokensDetailsTypedDict, CostDetailsTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OpenResponsesUsage", + "method_name": "serialize_model", + "line_number": 113, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OpenResponsesUsage", + "method_name": null, + "line_number": 91, + "evidence": [ + "Part of strategy family with: InputTokensDetails, OutputTokensDetails, CostDetails", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFiltersTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826ToolTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "ChainOfResponsibility", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFiltersTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Class name suggests handler chain: OpenResponsesWebSearch20250826ToolFiltersTypedDict" + ], + "related_classes": [] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFilters", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826Tool", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "ChainOfResponsibility", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Class name suggests handler chain: OpenResponsesWebSearch20250826ToolFilters" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolTypedDict", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826ToolFiltersTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826Tool", + "method_name": "serialize_model", + "line_number": 91, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826Tool", + "method_name": null, + "line_number": 75, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826ToolFilters", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "ChainOfResponsibility": 2, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchpreview20250311tool.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchpreview20250311tool.py", + "class_name": "OpenResponsesWebSearchPreview20250311Tool", + "method_name": "serialize_model", + "line_number": 50, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchpreviewtool.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchpreviewtool.py", + "class_name": "OpenResponsesWebSearchPreviewTool", + "method_name": "serialize_model", + "line_number": 48, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFiltersTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchToolTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "ChainOfResponsibility", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFiltersTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Class name suggests handler chain: OpenResponsesWebSearchToolFiltersTypedDict" + ], + "related_classes": [] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFilters", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchTool", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "ChainOfResponsibility", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Class name suggests handler chain: OpenResponsesWebSearchToolFilters" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolTypedDict", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchToolFiltersTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchTool", + "method_name": "serialize_model", + "line_number": 91, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchTool", + "method_name": null, + "line_number": 75, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchToolFilters", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "ChainOfResponsibility": 2, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/outputitemimagegenerationcall.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/outputitemimagegenerationcall.py", + "class_name": "OutputItemImageGenerationCall", + "method_name": "serialize_model", + "line_number": 33, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/payloadtoolargeresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/payloadtoolargeresponseerrordata.py", + "class_name": "PayloadTooLargeResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/paymentrequiredresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/paymentrequiredresponseerrordata.py", + "class_name": "PaymentRequiredResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/percentilelatencycutoffs.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/percentilelatencycutoffs.py", + "class_name": "PercentileLatencyCutoffs", + "method_name": "serialize_model", + "line_number": 44, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/percentilethroughputcutoffs.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/percentilethroughputcutoffs.py", + "class_name": "PercentileThroughputCutoffs", + "method_name": "serialize_model", + "line_number": 44, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/provideroverloadedresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/provideroverloadedresponseerrordata.py", + "class_name": "ProviderOverloadedResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesProviderSortConfigTypedDict", + "method_name": null, + "line_number": 98, + "evidence": [ + "Part of strategy family with: ProviderPreferencesMaxPriceTypedDict, ProviderPreferencesTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesProviderSortConfig", + "method_name": "serialize_model", + "line_number": 119, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesProviderSortConfig", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: ProviderPreferencesMaxPrice, ProviderPreferences", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesMaxPriceTypedDict", + "method_name": null, + "line_number": 203, + "evidence": [ + "Part of strategy family with: ProviderPreferencesProviderSortConfigTypedDict, ProviderPreferencesTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesMaxPrice", + "method_name": null, + "line_number": 214, + "evidence": [ + "Part of strategy family with: ProviderPreferencesProviderSortConfig, ProviderPreferences" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesTypedDict", + "method_name": null, + "line_number": 229, + "evidence": [ + "Part of strategy family with: ProviderPreferencesProviderSortConfigTypedDict, ProviderPreferencesMaxPriceTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferences", + "method_name": "serialize_model", + "line_number": 321, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferences", + "method_name": null, + "line_number": 267, + "evidence": [ + "Part of strategy family with: ProviderPreferencesProviderSortConfig, ProviderPreferencesMaxPrice", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providersortconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providersortconfig.py", + "class_name": "ProviderSortConfig", + "method_name": "serialize_model", + "line_number": 63, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "PricingTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: PublicEndpointTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "Pricing", + "method_name": null, + "line_number": 33, + "evidence": [ + "Part of strategy family with: PublicEndpoint" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "PublicEndpointTypedDict", + "method_name": null, + "line_number": 79, + "evidence": [ + "Part of strategy family with: PricingTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "PublicEndpoint", + "method_name": "serialize_model", + "line_number": 146, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "PublicEndpoint", + "method_name": null, + "line_number": 102, + "evidence": [ + "Part of strategy family with: Pricing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailencrypted.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailencrypted.py", + "class_name": "ReasoningDetailEncrypted", + "method_name": "serialize_model", + "line_number": 66, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailsummary.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailsummary.py", + "class_name": "ReasoningDetailSummary", + "method_name": "serialize_model", + "line_number": 66, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailtext.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/reasoningdetailtext.py", + "class_name": "ReasoningDetailText", + "method_name": "serialize_model", + "line_number": 69, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/requesttimeoutresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/requesttimeoutresponseerrordata.py", + "class_name": "RequestTimeoutResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputaudio.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputaudio.py", + "class_name": "ResponseInputAudioInputAudioTypedDict", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: ResponseInputAudioTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputaudio.py", + "class_name": "ResponseInputAudioInputAudio", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: ResponseInputAudio" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputaudio.py", + "class_name": "ResponseInputAudioTypedDict", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: ResponseInputAudioInputAudioTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputaudio.py", + "class_name": "ResponseInputAudio", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: ResponseInputAudioInputAudio" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputfile.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputfile.py", + "class_name": "ResponseInputFile", + "method_name": "serialize_model", + "line_number": 43, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputimage.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseinputimage.py", + "class_name": "ResponseInputImage", + "method_name": "serialize_model", + "line_number": 52, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "ResponseOutputTextTopLogprobTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: LogprobTypedDict, ResponseOutputTextTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "ResponseOutputTextTopLogprob", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: Logprob, ResponseOutputText" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "LogprobTypedDict", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: ResponseOutputTextTopLogprobTypedDict, ResponseOutputTextTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "Logprob", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: ResponseOutputTextTopLogprob, ResponseOutputText" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "ResponseOutputTextTypedDict", + "method_name": null, + "line_number": 48, + "evidence": [ + "Part of strategy family with: ResponseOutputTextTopLogprobTypedDict, LogprobTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseoutputtext.py", + "class_name": "ResponseOutputText", + "method_name": null, + "line_number": 55, + "evidence": [ + "Part of strategy family with: ResponseOutputTextTopLogprob, Logprob" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesformattextjsonschemaconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesformattextjsonschemaconfig.py", + "class_name": "ResponsesFormatTextJSONSchemaConfig", + "method_name": "serialize_model", + "line_number": 44, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesimagegenerationcall.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesimagegenerationcall.py", + "class_name": "ResponsesImageGenerationCall", + "method_name": "serialize_model", + "line_number": 33, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesoutputitemreasoning.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsesoutputitemreasoning.py", + "class_name": "ResponsesOutputItemReasoning", + "method_name": "serialize_model", + "line_number": 111, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseswebsearchuserlocation.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responseswebsearchuserlocation.py", + "class_name": "ResponsesWebSearchUserLocation", + "method_name": "serialize_model", + "line_number": 43, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsetextconfig.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/responsetextconfig.py", + "class_name": "ResponseTextConfig", + "method_name": "serialize_model", + "line_number": 56, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/serviceunavailableresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/serviceunavailableresponseerrordata.py", + "class_name": "ServiceUnavailableResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSONFunctionTypedDict", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: ToolDefinitionJSONTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSONFunction", + "method_name": "serialize_model", + "line_number": 52, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSONFunction", + "method_name": null, + "line_number": 36, + "evidence": [ + "Part of strategy family with: ToolDefinitionJSON", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSONTypedDict", + "method_name": null, + "line_number": 82, + "evidence": [ + "Part of strategy family with: ToolDefinitionJSONFunctionTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSON", + "method_name": null, + "line_number": 92, + "evidence": [ + "Part of strategy family with: ToolDefinitionJSONFunction" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/toomanyrequestsresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/toomanyrequestsresponseerrordata.py", + "class_name": "TooManyRequestsResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/topproviderinfo.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/topproviderinfo.py", + "class_name": "TopProviderInfo", + "method_name": "serialize_model", + "line_number": 39, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/unauthorizedresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/unauthorizedresponseerrordata.py", + "class_name": "UnauthorizedResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/unprocessableentityresponseerrordata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/unprocessableentityresponseerrordata.py", + "class_name": "UnprocessableEntityResponseErrorData", + "method_name": "serialize_model", + "line_number": 34, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/websearchpreviewtooluserlocation.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/websearchpreviewtooluserlocation.py", + "class_name": "WebSearchPreviewToolUserLocation", + "method_name": "serialize_model", + "line_number": 39, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py", + "class_name": "Credits", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_credits", + "Factory method: get_credits_async", + "Factory method: create_coinbase_charge", + "Factory method: create_coinbase_charge_async", + "Multiple factory methods: get_credits, get_credits_async, create_coinbase_charge", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py", + "class_name": "Credits", + "method_name": null, + "line_number": 12, + "evidence": [ + "Implements interface: BaseSDK", + "Has 4 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/embeddings.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/embeddings.py", + "class_name": "Embeddings", + "method_name": null, + "line_number": 18, + "evidence": [ + "Implements interface: BaseSDK", + "Has 4 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/endpoints.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/endpoints.py", + "class_name": "Endpoints", + "method_name": null, + "line_number": 12, + "evidence": [ + "Implements interface: BaseSDK", + "Has 4 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/errors/responsevalidationerror.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/errors/responsevalidationerror.py", + "class_name": "ResponseValidationError", + "method_name": "cause", + "line_number": 25, + "evidence": [ + "Method uses decorators: ['property']" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py", + "class_name": "Generations", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_generation", + "Factory method: get_generation_async", + "Multiple factory methods: get_generation, get_generation_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + }, + { + "pattern_type": "Builder", + "category": "Creational", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Has terminal build/create method" + ], + "related_classes": [] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Implements interface: BaseSDK", + "Has 26 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Notify method: update", + "Notify method: update_async" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Builder": 1, + "Adapter": 1, + "Observer": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.65, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "HttpClient", + "method_name": null, + "line_number": 11, + "evidence": [ + "Parameterized factory method: build_request", + "Inherits from: Protocol" + ], + "related_classes": [ + "Protocol" + ] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.55, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "HttpClient", + "method_name": null, + "line_number": 11, + "evidence": [ + "Implements interface: Protocol", + "Has 3 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "HttpClient", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: AsyncHttpClient, ClientOwner" + ], + "related_classes": [ + "Protocol" + ] + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.65, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "AsyncHttpClient", + "method_name": null, + "line_number": 50, + "evidence": [ + "Parameterized factory method: build_request", + "Inherits from: Protocol" + ], + "related_classes": [ + "Protocol" + ] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.55, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "AsyncHttpClient", + "method_name": null, + "line_number": 50, + "evidence": [ + "Implements interface: Protocol", + "Has 3 interface methods" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "AsyncHttpClient", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: HttpClient, ClientOwner" + ], + "related_classes": [ + "Protocol" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/httpclient.py", + "class_name": "ClientOwner", + "method_name": null, + "line_number": 88, + "evidence": [ + "Part of strategy family with: HttpClient, AsyncHttpClient" + ], + "related_classes": [ + "Protocol" + ] + } + ], + "total_classes": 3, + "total_functions": 1, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 2, + "Adapter": 2, + "Strategy": 3 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/models_.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/models_.py", + "class_name": "Models", + "method_name": null, + "line_number": 12, + "evidence": [ + "Implements interface: BaseSDK", + "Has 6 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py", + "class_name": "OAuth", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create_auth_code", + "Factory method: create_auth_code_async", + "Multiple factory methods: create_auth_code, create_auth_code_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py", + "class_name": "OAuth", + "method_name": null, + "line_number": 13, + "evidence": [ + "Implements interface: BaseSDK", + "Has 4 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailRequestBodyTypedDict, BulkAssignKeysToGuardrailRequestTypedDict, BulkAssignKeysToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailGlobals", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailRequestBody, BulkAssignKeysToGuardrailRequest, BulkAssignKeysToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 49, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobalsTypedDict, BulkAssignKeysToGuardrailRequestTypedDict, BulkAssignKeysToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailRequestBody", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobals, BulkAssignKeysToGuardrailRequest, BulkAssignKeysToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailRequestTypedDict", + "method_name": null, + "line_number": 59, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobalsTypedDict, BulkAssignKeysToGuardrailRequestBodyTypedDict, BulkAssignKeysToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobals, BulkAssignKeysToGuardrailRequestBody, BulkAssignKeysToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailResponseTypedDict", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobalsTypedDict, BulkAssignKeysToGuardrailRequestBodyTypedDict, BulkAssignKeysToGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignkeystoguardrail.py", + "class_name": "BulkAssignKeysToGuardrailResponse", + "method_name": null, + "line_number": 112, + "evidence": [ + "Part of strategy family with: BulkAssignKeysToGuardrailGlobals, BulkAssignKeysToGuardrailRequestBody, BulkAssignKeysToGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailRequestBodyTypedDict, BulkAssignMembersToGuardrailRequestTypedDict, BulkAssignMembersToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailGlobals", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailRequestBody, BulkAssignMembersToGuardrailRequest, BulkAssignMembersToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 49, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobalsTypedDict, BulkAssignMembersToGuardrailRequestTypedDict, BulkAssignMembersToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailRequestBody", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobals, BulkAssignMembersToGuardrailRequest, BulkAssignMembersToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailRequestTypedDict", + "method_name": null, + "line_number": 59, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobalsTypedDict, BulkAssignMembersToGuardrailRequestBodyTypedDict, BulkAssignMembersToGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobals, BulkAssignMembersToGuardrailRequestBody, BulkAssignMembersToGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailResponseTypedDict", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobalsTypedDict, BulkAssignMembersToGuardrailRequestBodyTypedDict, BulkAssignMembersToGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkassignmemberstoguardrail.py", + "class_name": "BulkAssignMembersToGuardrailResponse", + "method_name": null, + "line_number": 112, + "evidence": [ + "Part of strategy family with: BulkAssignMembersToGuardrailGlobals, BulkAssignMembersToGuardrailRequestBody, BulkAssignMembersToGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailRequestBodyTypedDict, BulkUnassignKeysFromGuardrailRequestTypedDict, BulkUnassignKeysFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailGlobals", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailRequestBody, BulkUnassignKeysFromGuardrailRequest, BulkUnassignKeysFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 49, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobalsTypedDict, BulkUnassignKeysFromGuardrailRequestTypedDict, BulkUnassignKeysFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailRequestBody", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobals, BulkUnassignKeysFromGuardrailRequest, BulkUnassignKeysFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailRequestTypedDict", + "method_name": null, + "line_number": 59, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobalsTypedDict, BulkUnassignKeysFromGuardrailRequestBodyTypedDict, BulkUnassignKeysFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobals, BulkUnassignKeysFromGuardrailRequestBody, BulkUnassignKeysFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailResponseTypedDict", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobalsTypedDict, BulkUnassignKeysFromGuardrailRequestBodyTypedDict, BulkUnassignKeysFromGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignkeysfromguardrail.py", + "class_name": "BulkUnassignKeysFromGuardrailResponse", + "method_name": null, + "line_number": 112, + "evidence": [ + "Part of strategy family with: BulkUnassignKeysFromGuardrailGlobals, BulkUnassignKeysFromGuardrailRequestBody, BulkUnassignKeysFromGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 16, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailRequestBodyTypedDict, BulkUnassignMembersFromGuardrailRequestTypedDict, BulkUnassignMembersFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailGlobals", + "method_name": null, + "line_number": 28, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailRequestBody, BulkUnassignMembersFromGuardrailRequest, BulkUnassignMembersFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 49, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobalsTypedDict, BulkUnassignMembersFromGuardrailRequestTypedDict, BulkUnassignMembersFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailRequestBody", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobals, BulkUnassignMembersFromGuardrailRequest, BulkUnassignMembersFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailRequestTypedDict", + "method_name": null, + "line_number": 59, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobalsTypedDict, BulkUnassignMembersFromGuardrailRequestBodyTypedDict, BulkUnassignMembersFromGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobals, BulkUnassignMembersFromGuardrailRequestBody, BulkUnassignMembersFromGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailResponseTypedDict", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobalsTypedDict, BulkUnassignMembersFromGuardrailRequestBodyTypedDict, BulkUnassignMembersFromGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/bulkunassignmembersfromguardrail.py", + "class_name": "BulkUnassignMembersFromGuardrailResponse", + "method_name": null, + "line_number": 112, + "evidence": [ + "Part of strategy family with: BulkUnassignMembersFromGuardrailGlobals, BulkUnassignMembersFromGuardrailRequestBody, BulkUnassignMembersFromGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeGlobalsTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeRequestBodyTypedDict, CreateAuthKeysCodeRequestTypedDict, CreateAuthKeysCodeDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeGlobals", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeRequestBody, CreateAuthKeysCodeRequest, CreateAuthKeysCodeData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequestBodyTypedDict", + "method_name": null, + "line_number": 80, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobalsTypedDict, CreateAuthKeysCodeRequestTypedDict, CreateAuthKeysCodeDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequestBody", + "method_name": "serialize_model", + "line_number": 125, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequestBody", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobals, CreateAuthKeysCodeRequest, CreateAuthKeysCodeData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequestTypedDict", + "method_name": null, + "line_number": 162, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobalsTypedDict, CreateAuthKeysCodeRequestBodyTypedDict, CreateAuthKeysCodeDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequest", + "method_name": null, + "line_number": 175, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobals, CreateAuthKeysCodeRequestBody, CreateAuthKeysCodeData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeDataTypedDict", + "method_name": null, + "line_number": 201, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobalsTypedDict, CreateAuthKeysCodeRequestBodyTypedDict, CreateAuthKeysCodeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeData", + "method_name": null, + "line_number": 212, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobals, CreateAuthKeysCodeRequestBody, CreateAuthKeysCodeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeResponseTypedDict", + "method_name": null, + "line_number": 225, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobalsTypedDict, CreateAuthKeysCodeRequestBodyTypedDict, CreateAuthKeysCodeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeResponse", + "method_name": null, + "line_number": 232, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobals, CreateAuthKeysCodeRequestBody, CreateAuthKeysCodeRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict, CallDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest, CallData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeSecurityTypedDict", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeRequestTypedDict, CallDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeSecurity", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeRequest, CallData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeRequestTypedDict", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CallDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeRequest", + "method_name": null, + "line_number": 81, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CallData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CallDataTypedDict", + "method_name": null, + "line_number": 107, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CallData", + "method_name": null, + "line_number": 120, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "MetadataTypedDict", + "method_name": null, + "line_number": 142, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "Metadata", + "method_name": null, + "line_number": 148, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "TransferIntentTypedDict", + "method_name": null, + "line_number": 156, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "TransferIntent", + "method_name": null, + "line_number": 161, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "Web3DataTypedDict", + "method_name": null, + "line_number": 167, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "Web3Data", + "method_name": null, + "line_number": 171, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeDataTypedDict", + "method_name": null, + "line_number": 175, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeData", + "method_name": null, + "line_number": 182, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeResponseTypedDict", + "method_name": null, + "line_number": 192, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobalsTypedDict, CreateCoinbaseChargeSecurityTypedDict, CreateCoinbaseChargeRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createcoinbasecharge.py", + "class_name": "CreateCoinbaseChargeResponse", + "method_name": null, + "line_number": 198, + "evidence": [ + "Part of strategy family with: CreateCoinbaseChargeGlobals, CreateCoinbaseChargeSecurity, CreateCoinbaseChargeRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 18, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 18 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsGlobalsTypedDict", + "method_name": null, + "line_number": 20, + "evidence": [ + "Part of strategy family with: ImageURLTypedDict, ContentImageURLTypedDict, ContentTextTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsGlobals", + "method_name": null, + "line_number": 32, + "evidence": [ + "Part of strategy family with: ImageURL, ContentImageURL, ContentText" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ImageURLTypedDict", + "method_name": null, + "line_number": 56, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ContentImageURLTypedDict, ContentTextTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ImageURL", + "method_name": null, + "line_number": 60, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ContentImageURL, ContentText" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ContentImageURLTypedDict", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentTextTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ContentImageURL", + "method_name": null, + "line_number": 69, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentText" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ContentTextTypedDict", + "method_name": null, + "line_number": 78, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "ContentText", + "method_name": null, + "line_number": 83, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "InputTypedDict", + "method_name": null, + "line_number": 103, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "Input", + "method_name": null, + "line_number": 107, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsRequestBodyTypedDict", + "method_name": null, + "line_number": 131, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsRequestBody", + "method_name": null, + "line_number": 142, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsRequestTypedDict", + "method_name": null, + "line_number": 161, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsRequest", + "method_name": null, + "line_number": 174, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsDataTypedDict", + "method_name": null, + "line_number": 212, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsData", + "method_name": null, + "line_number": 218, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "UsageTypedDict", + "method_name": null, + "line_number": 226, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "Usage", + "method_name": null, + "line_number": 232, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsResponseBodyTypedDict", + "method_name": null, + "line_number": 240, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobalsTypedDict, ImageURLTypedDict, ContentImageURLTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createembeddings.py", + "class_name": "CreateEmbeddingsResponseBody", + "method_name": null, + "line_number": 250, + "evidence": [ + "Part of strategy family with: CreateEmbeddingsGlobals, ImageURL, ContentImageURL" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 20, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 20 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 25, + "evidence": [ + "Part of strategy family with: CreateGuardrailRequestBodyTypedDict, CreateGuardrailRequestTypedDict, CreateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailGlobals", + "method_name": null, + "line_number": 37, + "evidence": [ + "Part of strategy family with: CreateGuardrailRequestBody, CreateGuardrailRequest, CreateGuardrailData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 69, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobalsTypedDict, CreateGuardrailRequestTypedDict, CreateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequestBody", + "method_name": "serialize_model", + "line_number": 112, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequestBody", + "method_name": null, + "line_number": 86, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequest, CreateGuardrailData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequestTypedDict", + "method_name": null, + "line_number": 156, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobalsTypedDict, CreateGuardrailRequestBodyTypedDict, CreateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequest", + "method_name": null, + "line_number": 169, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequestBody, CreateGuardrailData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailDataTypedDict", + "method_name": null, + "line_number": 206, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobalsTypedDict, CreateGuardrailRequestBodyTypedDict, CreateGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailData", + "method_name": "serialize_model", + "line_number": 268, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailData", + "method_name": null, + "line_number": 231, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequestBody, CreateGuardrailRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailResponseTypedDict", + "method_name": null, + "line_number": 314, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobalsTypedDict, CreateGuardrailRequestBodyTypedDict, CreateGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailResponse", + "method_name": null, + "line_number": 321, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequestBody, CreateGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysGlobalsTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: CreateKeysRequestBodyTypedDict, CreateKeysRequestTypedDict, CreateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysGlobals", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: CreateKeysRequestBody, CreateKeysRequest, CreateKeysData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequestBodyTypedDict", + "method_name": null, + "line_number": 70, + "evidence": [ + "Part of strategy family with: CreateKeysGlobalsTypedDict, CreateKeysRequestTypedDict, CreateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequestBody", + "method_name": "serialize_model", + "line_number": 103, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequestBody", + "method_name": null, + "line_number": 83, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequest, CreateKeysData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequestTypedDict", + "method_name": null, + "line_number": 138, + "evidence": [ + "Part of strategy family with: CreateKeysGlobalsTypedDict, CreateKeysRequestBodyTypedDict, CreateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequest", + "method_name": null, + "line_number": 151, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequestBody, CreateKeysData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysDataTypedDict", + "method_name": null, + "line_number": 177, + "evidence": [ + "Part of strategy family with: CreateKeysGlobalsTypedDict, CreateKeysRequestBodyTypedDict, CreateKeysRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysData", + "method_name": "serialize_model", + "line_number": 281, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysData", + "method_name": null, + "line_number": 220, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequestBody, CreateKeysRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysResponseTypedDict", + "method_name": null, + "line_number": 317, + "evidence": [ + "Part of strategy family with: CreateKeysGlobalsTypedDict, CreateKeysRequestBodyTypedDict, CreateKeysRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysResponse", + "method_name": null, + "line_number": 326, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequestBody, CreateKeysRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesGlobalsTypedDict", + "method_name": null, + "line_number": 21, + "evidence": [ + "Part of strategy family with: CreateResponsesRequestTypedDict, CreateResponsesResponseBodyTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesGlobals", + "method_name": null, + "line_number": 33, + "evidence": [ + "Part of strategy family with: CreateResponsesRequest, CreateResponsesResponseBody" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesRequestTypedDict", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: CreateResponsesGlobalsTypedDict, CreateResponsesResponseBodyTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesRequest", + "method_name": null, + "line_number": 69, + "evidence": [ + "Part of strategy family with: CreateResponsesGlobals, CreateResponsesResponseBody" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesResponseBodyTypedDict", + "method_name": null, + "line_number": 95, + "evidence": [ + "Part of strategy family with: CreateResponsesGlobalsTypedDict, CreateResponsesRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createresponses.py", + "class_name": "CreateResponsesResponseBody", + "method_name": null, + "line_number": 102, + "evidence": [ + "Part of strategy family with: CreateResponsesGlobals, CreateResponsesRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: DeleteGuardrailRequestTypedDict, DeleteGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: DeleteGuardrailRequest, DeleteGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailRequestTypedDict", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: DeleteGuardrailGlobalsTypedDict, DeleteGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailRequest", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: DeleteGuardrailGlobals, DeleteGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailResponseTypedDict", + "method_name": null, + "line_number": 90, + "evidence": [ + "Part of strategy family with: DeleteGuardrailGlobalsTypedDict, DeleteGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deleteguardrail.py", + "class_name": "DeleteGuardrailResponse", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: DeleteGuardrailGlobals, DeleteGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: DeleteKeysRequestTypedDict, DeleteKeysResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: DeleteKeysRequest, DeleteKeysResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysRequestTypedDict", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: DeleteKeysGlobalsTypedDict, DeleteKeysResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysRequest", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: DeleteKeysGlobals, DeleteKeysResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysResponseTypedDict", + "method_name": null, + "line_number": 90, + "evidence": [ + "Part of strategy family with: DeleteKeysGlobalsTypedDict, DeleteKeysRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/deletekeys.py", + "class_name": "DeleteKeysResponse", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: DeleteKeysGlobals, DeleteKeysRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyGlobalsTypedDict", + "method_name": null, + "line_number": 25, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyRequestBodyTypedDict, ExchangeAuthCodeForAPIKeyRequestTypedDict, ExchangeAuthCodeForAPIKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyGlobals", + "method_name": null, + "line_number": 37, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyRequestBody, ExchangeAuthCodeForAPIKeyRequest, ExchangeAuthCodeForAPIKeyResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequestBodyTypedDict", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobalsTypedDict, ExchangeAuthCodeForAPIKeyRequestTypedDict, ExchangeAuthCodeForAPIKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequestBody", + "method_name": "serialize_model", + "line_number": 93, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequestBody", + "method_name": null, + "line_number": 79, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobals, ExchangeAuthCodeForAPIKeyRequest, ExchangeAuthCodeForAPIKeyResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequestTypedDict", + "method_name": null, + "line_number": 123, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobalsTypedDict, ExchangeAuthCodeForAPIKeyRequestBodyTypedDict, ExchangeAuthCodeForAPIKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequest", + "method_name": null, + "line_number": 136, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobals, ExchangeAuthCodeForAPIKeyRequestBody, ExchangeAuthCodeForAPIKeyResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyResponseTypedDict", + "method_name": null, + "line_number": 162, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobalsTypedDict, ExchangeAuthCodeForAPIKeyRequestBodyTypedDict, ExchangeAuthCodeForAPIKeyRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyResponse", + "method_name": "serialize_model", + "line_number": 181, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyResponse", + "method_name": null, + "line_number": 171, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobals, ExchangeAuthCodeForAPIKeyRequestBody, ExchangeAuthCodeForAPIKeyRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsGlobalsTypedDict", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: GetCreditsRequestTypedDict, GetCreditsDataTypedDict, GetCreditsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsGlobals", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: GetCreditsRequest, GetCreditsData, GetCreditsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsRequestTypedDict", + "method_name": null, + "line_number": 44, + "evidence": [ + "Part of strategy family with: GetCreditsGlobalsTypedDict, GetCreditsDataTypedDict, GetCreditsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsRequest", + "method_name": null, + "line_number": 56, + "evidence": [ + "Part of strategy family with: GetCreditsGlobals, GetCreditsData, GetCreditsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsDataTypedDict", + "method_name": null, + "line_number": 77, + "evidence": [ + "Part of strategy family with: GetCreditsGlobalsTypedDict, GetCreditsRequestTypedDict, GetCreditsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsData", + "method_name": null, + "line_number": 84, + "evidence": [ + "Part of strategy family with: GetCreditsGlobals, GetCreditsRequest, GetCreditsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsResponseTypedDict", + "method_name": null, + "line_number": 92, + "evidence": [ + "Part of strategy family with: GetCreditsGlobalsTypedDict, GetCreditsRequestTypedDict, GetCreditsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcredits.py", + "class_name": "GetCreditsResponse", + "method_name": null, + "line_number": 98, + "evidence": [ + "Part of strategy family with: GetCreditsGlobals, GetCreditsRequest, GetCreditsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyGlobalsTypedDict", + "method_name": null, + "line_number": 19, + "evidence": [ + "Part of strategy family with: GetCurrentKeyRequestTypedDict, RateLimitTypedDict, GetCurrentKeyDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyGlobals", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: GetCurrentKeyRequest, RateLimit, GetCurrentKeyData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyRequestTypedDict", + "method_name": null, + "line_number": 52, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobalsTypedDict, RateLimitTypedDict, GetCurrentKeyDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyRequest", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobals, RateLimit, GetCurrentKeyData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "RateLimitTypedDict", + "method_name": null, + "line_number": 88, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobalsTypedDict, GetCurrentKeyRequestTypedDict, GetCurrentKeyDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "RateLimit", + "method_name": null, + "line_number": 102, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobals, GetCurrentKeyRequest, GetCurrentKeyData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyDataTypedDict", + "method_name": null, + "line_number": 115, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobalsTypedDict, GetCurrentKeyRequestTypedDict, RateLimitTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyData", + "method_name": "serialize_model", + "line_number": 224, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyData", + "method_name": null, + "line_number": 156, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobals, GetCurrentKeyRequest, RateLimit", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyResponseTypedDict", + "method_name": null, + "line_number": 254, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobalsTypedDict, GetCurrentKeyRequestTypedDict, RateLimitTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyResponse", + "method_name": null, + "line_number": 261, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobals, GetCurrentKeyRequest, RateLimit" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationGlobalsTypedDict", + "method_name": null, + "line_number": 18, + "evidence": [ + "Part of strategy family with: GetGenerationRequestTypedDict, ProviderResponseTypedDict, GetGenerationDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationGlobals", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: GetGenerationRequest, ProviderResponse, GetGenerationData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationRequestTypedDict", + "method_name": null, + "line_number": 51, + "evidence": [ + "Part of strategy family with: GetGenerationGlobalsTypedDict, ProviderResponseTypedDict, GetGenerationDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationRequest", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, ProviderResponse, GetGenerationData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "ProviderResponseTypedDict", + "method_name": null, + "line_number": 208, + "evidence": [ + "Part of strategy family with: GetGenerationGlobalsTypedDict, GetGenerationRequestTypedDict, GetGenerationDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "ProviderResponse", + "method_name": "serialize_model", + "line_number": 236, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "ProviderResponse", + "method_name": null, + "line_number": 218, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, GetGenerationRequest, GetGenerationData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationDataTypedDict", + "method_name": null, + "line_number": 273, + "evidence": [ + "Part of strategy family with: GetGenerationGlobalsTypedDict, GetGenerationRequestTypedDict, ProviderResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationData", + "method_name": "serialize_model", + "line_number": 452, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationData", + "method_name": null, + "line_number": 346, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, GetGenerationRequest, ProviderResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationResponseTypedDict", + "method_name": null, + "line_number": 510, + "evidence": [ + "Part of strategy family with: GetGenerationGlobalsTypedDict, GetGenerationRequestTypedDict, ProviderResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationResponse", + "method_name": null, + "line_number": 517, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, GetGenerationRequest, ProviderResponse" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 25, + "evidence": [ + "Part of strategy family with: GetGuardrailRequestTypedDict, GetGuardrailDataTypedDict, GetGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailGlobals", + "method_name": null, + "line_number": 37, + "evidence": [ + "Part of strategy family with: GetGuardrailRequest, GetGuardrailData, GetGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailRequestTypedDict", + "method_name": null, + "line_number": 58, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobalsTypedDict, GetGuardrailDataTypedDict, GetGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailRequest", + "method_name": null, + "line_number": 72, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobals, GetGuardrailData, GetGuardrailResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailDataTypedDict", + "method_name": null, + "line_number": 109, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobalsTypedDict, GetGuardrailRequestTypedDict, GetGuardrailResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailData", + "method_name": "serialize_model", + "line_number": 171, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailData", + "method_name": null, + "line_number": 134, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobals, GetGuardrailRequest, GetGuardrailResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailResponseTypedDict", + "method_name": null, + "line_number": 217, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobalsTypedDict, GetGuardrailRequestTypedDict, GetGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailResponse", + "method_name": null, + "line_number": 224, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobals, GetGuardrailRequest, GetGuardrailData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyGlobalsTypedDict", + "method_name": null, + "line_number": 19, + "evidence": [ + "Part of strategy family with: GetKeyRequestTypedDict, GetKeyDataTypedDict, GetKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyGlobals", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: GetKeyRequest, GetKeyData, GetKeyResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyRequestTypedDict", + "method_name": null, + "line_number": 52, + "evidence": [ + "Part of strategy family with: GetKeyGlobalsTypedDict, GetKeyDataTypedDict, GetKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyRequest", + "method_name": null, + "line_number": 66, + "evidence": [ + "Part of strategy family with: GetKeyGlobals, GetKeyData, GetKeyResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyDataTypedDict", + "method_name": null, + "line_number": 92, + "evidence": [ + "Part of strategy family with: GetKeyGlobalsTypedDict, GetKeyRequestTypedDict, GetKeyResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyData", + "method_name": "serialize_model", + "line_number": 196, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyData", + "method_name": null, + "line_number": 135, + "evidence": [ + "Part of strategy family with: GetKeyGlobals, GetKeyRequest, GetKeyResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyResponseTypedDict", + "method_name": null, + "line_number": 232, + "evidence": [ + "Part of strategy family with: GetKeyGlobalsTypedDict, GetKeyRequestTypedDict, GetKeyDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyResponse", + "method_name": null, + "line_number": 239, + "evidence": [ + "Part of strategy family with: GetKeyGlobals, GetKeyRequest, GetKeyData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getmodels.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getmodels.py", + "class_name": "GetModelsGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: GetModelsRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getmodels.py", + "class_name": "GetModelsGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: GetModelsRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getmodels.py", + "class_name": "GetModelsRequestTypedDict", + "method_name": null, + "line_number": 70, + "evidence": [ + "Part of strategy family with: GetModelsGlobalsTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getmodels.py", + "class_name": "GetModelsRequest", + "method_name": null, + "line_number": 85, + "evidence": [ + "Part of strategy family with: GetModelsGlobals" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityGlobalsTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: GetUserActivityRequestTypedDict, GetUserActivityResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityGlobals", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: GetUserActivityRequest, GetUserActivityResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityRequestTypedDict", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: GetUserActivityGlobalsTypedDict, GetUserActivityResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityRequest", + "method_name": null, + "line_number": 59, + "evidence": [ + "Part of strategy family with: GetUserActivityGlobals, GetUserActivityResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityResponseTypedDict", + "method_name": null, + "line_number": 87, + "evidence": [ + "Part of strategy family with: GetUserActivityGlobalsTypedDict, GetUserActivityRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getuseractivity.py", + "class_name": "GetUserActivityResponse", + "method_name": null, + "line_number": 94, + "evidence": [ + "Part of strategy family with: GetUserActivityGlobals, GetUserActivityRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListGlobalsTypedDict", + "method_name": null, + "line_number": 19, + "evidence": [ + "Part of strategy family with: ListRequestTypedDict, ListDataTypedDict, ListResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListGlobals", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: ListRequest, ListData, ListResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListRequestTypedDict", + "method_name": null, + "line_number": 52, + "evidence": [ + "Part of strategy family with: ListGlobalsTypedDict, ListDataTypedDict, ListResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListRequest", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ListGlobals, ListData, ListResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListDataTypedDict", + "method_name": null, + "line_number": 101, + "evidence": [ + "Part of strategy family with: ListGlobalsTypedDict, ListRequestTypedDict, ListResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListData", + "method_name": "serialize_model", + "line_number": 201, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListData", + "method_name": null, + "line_number": 142, + "evidence": [ + "Part of strategy family with: ListGlobals, ListRequest, ListResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListResponseTypedDict", + "method_name": null, + "line_number": 237, + "evidence": [ + "Part of strategy family with: ListGlobalsTypedDict, ListRequestTypedDict, ListDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListResponse", + "method_name": null, + "line_number": 244, + "evidence": [ + "Part of strategy family with: ListGlobals, ListRequest, ListData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listembeddingsmodels.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listembeddingsmodels.py", + "class_name": "ListEmbeddingsModelsGlobalsTypedDict", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: ListEmbeddingsModelsRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listembeddingsmodels.py", + "class_name": "ListEmbeddingsModelsGlobals", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: ListEmbeddingsModelsRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listembeddingsmodels.py", + "class_name": "ListEmbeddingsModelsRequestTypedDict", + "method_name": null, + "line_number": 44, + "evidence": [ + "Part of strategy family with: ListEmbeddingsModelsGlobalsTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listembeddingsmodels.py", + "class_name": "ListEmbeddingsModelsRequest", + "method_name": null, + "line_number": 56, + "evidence": [ + "Part of strategy family with: ListEmbeddingsModelsGlobals" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsGlobalsTypedDict", + "method_name": null, + "line_number": 14, + "evidence": [ + "Part of strategy family with: ListEndpointsRequestTypedDict, ListEndpointsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsGlobals", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: ListEndpointsRequest, ListEndpointsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsRequestTypedDict", + "method_name": null, + "line_number": 47, + "evidence": [ + "Part of strategy family with: ListEndpointsGlobalsTypedDict, ListEndpointsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsRequest", + "method_name": null, + "line_number": 61, + "evidence": [ + "Part of strategy family with: ListEndpointsGlobals, ListEndpointsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsResponseTypedDict", + "method_name": null, + "line_number": 90, + "evidence": [ + "Part of strategy family with: ListEndpointsGlobalsTypedDict, ListEndpointsRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpoints.py", + "class_name": "ListEndpointsResponse", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: ListEndpointsGlobals, ListEndpointsRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrGlobalsTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrRequestTypedDict, ListEndpointsZdrResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrGlobals", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrRequest, ListEndpointsZdrResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrRequestTypedDict", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrGlobalsTypedDict, ListEndpointsZdrResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrRequest", + "method_name": null, + "line_number": 57, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrGlobals, ListEndpointsZdrResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrResponseTypedDict", + "method_name": null, + "line_number": 78, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrGlobalsTypedDict, ListEndpointsZdrRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listendpointszdr.py", + "class_name": "ListEndpointsZdrResponse", + "method_name": null, + "line_number": 84, + "evidence": [ + "Part of strategy family with: ListEndpointsZdrGlobals, ListEndpointsZdrRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsRequestTypedDict, ListGuardrailKeyAssignmentsDataTypedDict, ListGuardrailKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsRequest, ListGuardrailKeyAssignmentsData, ListGuardrailKeyAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsRequestTypedDict", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobalsTypedDict, ListGuardrailKeyAssignmentsDataTypedDict, ListGuardrailKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsRequest", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobals, ListGuardrailKeyAssignmentsData, ListGuardrailKeyAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsDataTypedDict", + "method_name": null, + "line_number": 106, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobalsTypedDict, ListGuardrailKeyAssignmentsRequestTypedDict, ListGuardrailKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsData", + "method_name": "serialize_model", + "line_number": 146, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsData", + "method_name": null, + "line_number": 123, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobals, ListGuardrailKeyAssignmentsRequest, ListGuardrailKeyAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsResponseTypedDict", + "method_name": null, + "line_number": 176, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobalsTypedDict, ListGuardrailKeyAssignmentsRequestTypedDict, ListGuardrailKeyAssignmentsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsResponse", + "method_name": null, + "line_number": 185, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobals, ListGuardrailKeyAssignmentsRequest, ListGuardrailKeyAssignmentsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsGlobalsTypedDict", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsRequestTypedDict, ListGuardrailMemberAssignmentsDataTypedDict, ListGuardrailMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsGlobals", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsRequest, ListGuardrailMemberAssignmentsData, ListGuardrailMemberAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsRequestTypedDict", + "method_name": null, + "line_number": 50, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobalsTypedDict, ListGuardrailMemberAssignmentsDataTypedDict, ListGuardrailMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsRequest", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobals, ListGuardrailMemberAssignmentsData, ListGuardrailMemberAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsDataTypedDict", + "method_name": null, + "line_number": 106, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobalsTypedDict, ListGuardrailMemberAssignmentsRequestTypedDict, ListGuardrailMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsData", + "method_name": "serialize_model", + "line_number": 141, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsData", + "method_name": null, + "line_number": 121, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobals, ListGuardrailMemberAssignmentsRequest, ListGuardrailMemberAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsResponseTypedDict", + "method_name": null, + "line_number": 171, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobalsTypedDict, ListGuardrailMemberAssignmentsRequestTypedDict, ListGuardrailMemberAssignmentsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsResponse", + "method_name": null, + "line_number": 180, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobals, ListGuardrailMemberAssignmentsRequest, ListGuardrailMemberAssignmentsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsGlobalsTypedDict", + "method_name": null, + "line_number": 25, + "evidence": [ + "Part of strategy family with: ListGuardrailsRequestTypedDict, ListGuardrailsDataTypedDict, ListGuardrailsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsGlobals", + "method_name": null, + "line_number": 37, + "evidence": [ + "Part of strategy family with: ListGuardrailsRequest, ListGuardrailsData, ListGuardrailsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsRequestTypedDict", + "method_name": null, + "line_number": 58, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobalsTypedDict, ListGuardrailsDataTypedDict, ListGuardrailsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobals, ListGuardrailsData, ListGuardrailsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsDataTypedDict", + "method_name": null, + "line_number": 118, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobalsTypedDict, ListGuardrailsRequestTypedDict, ListGuardrailsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsData", + "method_name": "serialize_model", + "line_number": 176, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsData", + "method_name": null, + "line_number": 141, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobals, ListGuardrailsRequest, ListGuardrailsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsResponseTypedDict", + "method_name": null, + "line_number": 222, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobalsTypedDict, ListGuardrailsRequestTypedDict, ListGuardrailsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsResponse", + "method_name": null, + "line_number": 231, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobals, ListGuardrailsRequest, ListGuardrailsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsGlobalsTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsRequestTypedDict, ListKeyAssignmentsDataTypedDict, ListKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsGlobals", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsRequest, ListKeyAssignmentsData, ListKeyAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsRequestTypedDict", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobalsTypedDict, ListKeyAssignmentsDataTypedDict, ListKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsRequest", + "method_name": null, + "line_number": 61, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobals, ListKeyAssignmentsData, ListKeyAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsDataTypedDict", + "method_name": null, + "line_number": 94, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobalsTypedDict, ListKeyAssignmentsRequestTypedDict, ListKeyAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsData", + "method_name": "serialize_model", + "line_number": 134, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsData", + "method_name": null, + "line_number": 111, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobals, ListKeyAssignmentsRequest, ListKeyAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsResponseTypedDict", + "method_name": null, + "line_number": 164, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobalsTypedDict, ListKeyAssignmentsRequestTypedDict, ListKeyAssignmentsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsResponse", + "method_name": null, + "line_number": 173, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobals, ListKeyAssignmentsRequest, ListKeyAssignmentsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsGlobalsTypedDict", + "method_name": null, + "line_number": 12, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsRequestTypedDict, ListMemberAssignmentsDataTypedDict, ListMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsGlobals", + "method_name": null, + "line_number": 24, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsRequest, ListMemberAssignmentsData, ListMemberAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsRequestTypedDict", + "method_name": null, + "line_number": 45, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobalsTypedDict, ListMemberAssignmentsDataTypedDict, ListMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsRequest", + "method_name": null, + "line_number": 61, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobals, ListMemberAssignmentsData, ListMemberAssignmentsResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsDataTypedDict", + "method_name": null, + "line_number": 94, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobalsTypedDict, ListMemberAssignmentsRequestTypedDict, ListMemberAssignmentsResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsData", + "method_name": "serialize_model", + "line_number": 129, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsData", + "method_name": null, + "line_number": 109, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobals, ListMemberAssignmentsRequest, ListMemberAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsResponseTypedDict", + "method_name": null, + "line_number": 159, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobalsTypedDict, ListMemberAssignmentsRequestTypedDict, ListMemberAssignmentsDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsResponse", + "method_name": null, + "line_number": 168, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobals, ListMemberAssignmentsRequest, ListMemberAssignmentsData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelscount.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelscount.py", + "class_name": "ListModelsCountGlobalsTypedDict", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: ListModelsCountRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelscount.py", + "class_name": "ListModelsCountGlobals", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: ListModelsCountRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelscount.py", + "class_name": "ListModelsCountRequestTypedDict", + "method_name": null, + "line_number": 44, + "evidence": [ + "Part of strategy family with: ListModelsCountGlobalsTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelscount.py", + "class_name": "ListModelsCountRequest", + "method_name": null, + "line_number": 56, + "evidence": [ + "Part of strategy family with: ListModelsCountGlobals" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 4, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserGlobalsTypedDict", + "method_name": null, + "line_number": 11, + "evidence": [ + "Part of strategy family with: ListModelsUserSecurityTypedDict, ListModelsUserRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserGlobals", + "method_name": null, + "line_number": 23, + "evidence": [ + "Part of strategy family with: ListModelsUserSecurity, ListModelsUserRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserSecurityTypedDict", + "method_name": null, + "line_number": 44, + "evidence": [ + "Part of strategy family with: ListModelsUserGlobalsTypedDict, ListModelsUserRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserSecurity", + "method_name": null, + "line_number": 48, + "evidence": [ + "Part of strategy family with: ListModelsUserGlobals, ListModelsUserRequest" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserRequestTypedDict", + "method_name": null, + "line_number": 62, + "evidence": [ + "Part of strategy family with: ListModelsUserGlobalsTypedDict, ListModelsUserSecurityTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmodelsuser.py", + "class_name": "ListModelsUserRequest", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: ListModelsUserGlobals, ListModelsUserSecurity" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersGlobalsTypedDict", + "method_name": null, + "line_number": 18, + "evidence": [ + "Part of strategy family with: ListProvidersRequestTypedDict, ListProvidersDataTypedDict, ListProvidersResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersGlobals", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: ListProvidersRequest, ListProvidersData, ListProvidersResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersRequestTypedDict", + "method_name": null, + "line_number": 51, + "evidence": [ + "Part of strategy family with: ListProvidersGlobalsTypedDict, ListProvidersDataTypedDict, ListProvidersResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersRequest", + "method_name": null, + "line_number": 63, + "evidence": [ + "Part of strategy family with: ListProvidersGlobals, ListProvidersData, ListProvidersResponse" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersDataTypedDict", + "method_name": null, + "line_number": 84, + "evidence": [ + "Part of strategy family with: ListProvidersGlobalsTypedDict, ListProvidersRequestTypedDict, ListProvidersResponseTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersData", + "method_name": "serialize_model", + "line_number": 114, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersData", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: ListProvidersGlobals, ListProvidersRequest, ListProvidersResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersResponseTypedDict", + "method_name": null, + "line_number": 148, + "evidence": [ + "Part of strategy family with: ListProvidersGlobalsTypedDict, ListProvidersRequestTypedDict, ListProvidersDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersResponse", + "method_name": null, + "line_number": 154, + "evidence": [ + "Part of strategy family with: ListProvidersGlobals, ListProvidersRequest, ListProvidersData" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 8, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 8, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestGlobalsTypedDict", + "method_name": null, + "line_number": 21, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestRequestTypedDict, SendChatCompletionRequestResponseBodyTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestGlobals", + "method_name": null, + "line_number": 33, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestRequest, SendChatCompletionRequestResponseBody" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestRequestTypedDict", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestGlobalsTypedDict, SendChatCompletionRequestResponseBodyTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestRequest", + "method_name": null, + "line_number": 69, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestGlobals, SendChatCompletionRequestResponseBody" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestResponseBodyTypedDict", + "method_name": null, + "line_number": 95, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestGlobalsTypedDict, SendChatCompletionRequestRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/sendchatcompletionrequest.py", + "class_name": "SendChatCompletionRequestResponseBody", + "method_name": null, + "line_number": 102, + "evidence": [ + "Part of strategy family with: SendChatCompletionRequestGlobals, SendChatCompletionRequestRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 6, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 6 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailGlobalsTypedDict", + "method_name": null, + "line_number": 26, + "evidence": [ + "Part of strategy family with: UpdateGuardrailRequestBodyTypedDict, UpdateGuardrailRequestTypedDict, UpdateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailGlobals", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: UpdateGuardrailRequestBody, UpdateGuardrailRequest, UpdateGuardrailData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequestBodyTypedDict", + "method_name": null, + "line_number": 70, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobalsTypedDict, UpdateGuardrailRequestTypedDict, UpdateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequestBody", + "method_name": "serialize_model", + "line_number": 113, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequestBody", + "method_name": null, + "line_number": 87, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequest, UpdateGuardrailData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequestTypedDict", + "method_name": null, + "line_number": 158, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobalsTypedDict, UpdateGuardrailRequestBodyTypedDict, UpdateGuardrailDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequest", + "method_name": null, + "line_number": 173, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequestBody, UpdateGuardrailData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailDataTypedDict", + "method_name": null, + "line_number": 215, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobalsTypedDict, UpdateGuardrailRequestBodyTypedDict, UpdateGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailData", + "method_name": "serialize_model", + "line_number": 277, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailData", + "method_name": null, + "line_number": 240, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequestBody, UpdateGuardrailRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailResponseTypedDict", + "method_name": null, + "line_number": 323, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobalsTypedDict, UpdateGuardrailRequestBodyTypedDict, UpdateGuardrailRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailResponse", + "method_name": null, + "line_number": 330, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequestBody, UpdateGuardrailRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysGlobalsTypedDict", + "method_name": null, + "line_number": 27, + "evidence": [ + "Part of strategy family with: UpdateKeysRequestBodyTypedDict, UpdateKeysRequestTypedDict, UpdateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysGlobals", + "method_name": null, + "line_number": 39, + "evidence": [ + "Part of strategy family with: UpdateKeysRequestBody, UpdateKeysRequest, UpdateKeysData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequestBodyTypedDict", + "method_name": null, + "line_number": 71, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobalsTypedDict, UpdateKeysRequestTypedDict, UpdateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequestBody", + "method_name": "serialize_model", + "line_number": 104, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequestBody", + "method_name": null, + "line_number": 84, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequest, UpdateKeysData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequestTypedDict", + "method_name": null, + "line_number": 140, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobalsTypedDict, UpdateKeysRequestBodyTypedDict, UpdateKeysDataTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequest", + "method_name": null, + "line_number": 155, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequestBody, UpdateKeysData" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysDataTypedDict", + "method_name": null, + "line_number": 186, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobalsTypedDict, UpdateKeysRequestBodyTypedDict, UpdateKeysRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysData", + "method_name": "serialize_model", + "line_number": 290, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='wrap')\"]" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysData", + "method_name": null, + "line_number": 229, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequestBody, UpdateKeysRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysResponseTypedDict", + "method_name": null, + "line_number": 326, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobalsTypedDict, UpdateKeysRequestBodyTypedDict, UpdateKeysRequestTypedDict" + ], + "related_classes": [ + "TypedDict" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysResponse", + "method_name": null, + "line_number": 333, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequestBody, UpdateKeysRequest" + ], + "related_classes": [ + "BaseModel" + ] + } + ], + "total_classes": 10, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 10, + "Decorator": 2 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/responses.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/responses.py", + "class_name": "Responses", + "method_name": "send", + "line_number": 22, + "evidence": [ + "Method uses decorators: ['overload']" + ], + "related_classes": [] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/responses.py", + "class_name": "Responses", + "method_name": null, + "line_number": 18, + "evidence": [ + "Implements interface: BaseSDK", + "Has 6 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Decorator": 1, + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py", + "class_name": "OpenRouter", + "method_name": null, + "line_number": 33, + "evidence": [ + "Parameterized factory method: __getattr__", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ] + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.85, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py", + "class_name": "OpenRouter", + "method_name": null, + "line_number": 33, + "evidence": [ + "Takes adaptee in constructor: ['api_key', 'http_referer', 'x_title', 'server', 'server_url', 'url_params', 'client', 'async_client', 'retry_config', 'timeout_ms', 'debug_logger']", + "Implements interface: BaseSDK", + "Has 8 interface methods" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Adapter": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdkconfiguration.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdkconfiguration.py", + "class_name": "SDKConfiguration", + "method_name": "get_server_details", + "line_number": 48, + "evidence": [ + "Factory method detected: get_server_details" + ], + "related_classes": [] + } + ], + "total_classes": 1, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/types/basemodel.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "TemplateMethod", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/types/basemodel.py", + "class_name": "BaseModel", + "method_name": null, + "line_number": 9, + "evidence": [ + "Abstract base with subclasses: Unset" + ], + "related_classes": [ + "Unset" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.3, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/types/basemodel.py", + "class_name": "Unset", + "method_name": "serialize_model", + "line_number": 17, + "evidence": [ + "Method uses decorators: [\"model_serializer(mode='plain')\"]" + ], + "related_classes": [] + } + ], + "total_classes": 2, + "total_functions": 0, + "analysis_depth": "deep", + "pattern_summary": { + "TemplateMethod": 1, + "Decorator": 1 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "class_name": "SecurityMetadata", + "method_name": null, + "line_number": 12, + "evidence": [ + "Parameterized factory method: get_field_name" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.6, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "class_name": "ParamMetadata", + "method_name": null, + "line_number": 24, + "evidence": [ + "Strategy base with implementations: PathParamMetadata, QueryParamMetadata, HeaderMetadata" + ], + "related_classes": [ + "PathParamMetadata", + "QueryParamMetadata", + "HeaderMetadata" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "class_name": "PathParamMetadata", + "method_name": null, + "line_number": 31, + "evidence": [ + "Part of strategy family with: QueryParamMetadata, HeaderMetadata" + ], + "related_classes": [ + "ParamMetadata" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "class_name": "QueryParamMetadata", + "method_name": null, + "line_number": 36, + "evidence": [ + "Part of strategy family with: PathParamMetadata, HeaderMetadata" + ], + "related_classes": [ + "ParamMetadata" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/metadata.py", + "class_name": "HeaderMetadata", + "method_name": null, + "line_number": 42, + "evidence": [ + "Part of strategy family with: PathParamMetadata, QueryParamMetadata" + ], + "related_classes": [ + "ParamMetadata" + ] + } + ], + "total_classes": 9, + "total_functions": 2, + "analysis_depth": "deep", + "pattern_summary": { + "Factory": 1, + "Strategy": 4 + } + }, + { + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "language": "Python", + "patterns": [ + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "BackoffStrategy", + "method_name": null, + "line_number": 13, + "evidence": [ + "Class name suggests Strategy: BackoffStrategy" + ], + "related_classes": [] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "TemporaryError", + "method_name": null, + "line_number": 54, + "evidence": [ + "Part of strategy family with: PermanentError" + ], + "related_classes": [ + "Exception" + ] + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "PermanentError", + "method_name": null, + "line_number": 63, + "evidence": [ + "Shares interface with: TemporaryError", + "Takes wrapped object in constructor: ['inner']" + ], + "related_classes": [ + "Exception" + ] + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.5, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "PermanentError", + "method_name": null, + "line_number": 63, + "evidence": [ + "Part of strategy family with: TemporaryError" + ], + "related_classes": [ + "Exception" + ] + } + ], + "total_classes": 5, + "total_functions": 8, + "analysis_depth": "deep", + "pattern_summary": { + "Strategy": 3, + "Decorator": 1 + } + } +] \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/patterns/critical_patterns.json b/.github/skills/openrouter-python-sdk/references/patterns/critical_patterns.json new file mode 100644 index 000000000..8b0144540 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/patterns/critical_patterns.json @@ -0,0 +1,192 @@ +[ + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "class_name": "SDKHooks", + "method_name": null, + "line_number": 19, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py" + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": null, + "line_number": 97, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py", + "class_name": "Analytics", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_user_activity", + "Factory method: get_user_activity_async", + "Multiple factory methods: get_user_activity, get_user_activity_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Factory method: get_current_key_metadata", + "Factory method: get_current_key_metadata_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py", + "class_name": "BaseSDK", + "method_name": null, + "line_number": 16, + "evidence": [ + "Parameterized factory method: _get_url", + "Parameterized factory method: _build_request_async", + "Parameterized factory method: _build_request", + "Parameterized factory method: _build_request_with_client", + "Multiple factory methods: _get_url, _build_request_async, _build_request" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py", + "class_name": "Credits", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_credits", + "Factory method: get_credits_async", + "Factory method: create_coinbase_charge", + "Factory method: create_coinbase_charge_async", + "Multiple factory methods: get_credits, get_credits_async, create_coinbase_charge", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py", + "class_name": "Generations", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_generation", + "Factory method: get_generation_async", + "Multiple factory methods: get_generation, get_generation_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py", + "class_name": "OAuth", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create_auth_code", + "Factory method: create_auth_code_async", + "Multiple factory methods: create_auth_code, create_auth_code_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py" + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.85, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py", + "class_name": "OpenRouter", + "method_name": null, + "line_number": 33, + "evidence": [ + "Takes adaptee in constructor: ['api_key', 'http_referer', 'x_title', 'server', 'server_url', 'url_params', 'client', 'async_client', 'retry_config', 'timeout_ms', 'debug_logger']", + "Implements interface: BaseSDK", + "Has 8 interface methods" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py" + } +] \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/patterns/high_confidence_patterns.json b/.github/skills/openrouter-python-sdk/references/patterns/high_confidence_patterns.json new file mode 100644 index 000000000..2ca52e0fe --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/patterns/high_confidence_patterns.json @@ -0,0 +1,1209 @@ +[ + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py", + "class_name": "SDKHooks", + "method_name": null, + "line_number": 19, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/sdkhooks.py" + }, + { + "pattern_type": "Observer", + "category": "Behavioral", + "confidence": 0.95, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "Hooks", + "method_name": null, + "line_number": 97, + "evidence": [ + "Attach method: register_sdk_init_hook", + "Attach method: register_before_request_hook", + "Attach method: register_after_success_hook", + "Attach method: register_after_error_hook" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py", + "class_name": "Analytics", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_user_activity", + "Factory method: get_user_activity_async", + "Multiple factory methods: get_user_activity, get_user_activity_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/analytics.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py", + "class_name": "APIKeys", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Factory method: get_current_key_metadata", + "Factory method: get_current_key_metadata_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/api_keys.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py", + "class_name": "BaseSDK", + "method_name": null, + "line_number": 16, + "evidence": [ + "Parameterized factory method: _get_url", + "Parameterized factory method: _build_request_async", + "Parameterized factory method: _build_request", + "Parameterized factory method: _build_request_with_client", + "Multiple factory methods: _get_url, _build_request_async, _build_request" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/basesdk.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py", + "class_name": "Credits", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_credits", + "Factory method: get_credits_async", + "Factory method: create_coinbase_charge", + "Factory method: create_coinbase_charge_async", + "Multiple factory methods: get_credits, get_credits_async, create_coinbase_charge", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/credits.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py", + "class_name": "Generations", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: get_generation", + "Factory method: get_generation_async", + "Multiple factory methods: get_generation, get_generation_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/generations.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py", + "class_name": "Guardrails", + "method_name": null, + "line_number": 12, + "evidence": [ + "Factory method: create", + "Factory method: create_async", + "Factory method: get", + "Factory method: get_async", + "Multiple factory methods: create, create_async, get", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/guardrails.py" + }, + { + "pattern_type": "Factory", + "category": "Creational", + "confidence": 0.9, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py", + "class_name": "OAuth", + "method_name": null, + "line_number": 13, + "evidence": [ + "Factory method: create_auth_code", + "Factory method: create_auth_code_async", + "Multiple factory methods: create_auth_code, create_auth_code_async", + "Inherits from: BaseSDK" + ], + "related_classes": [ + "BaseSDK" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/oauth.py" + }, + { + "pattern_type": "Adapter", + "category": "Structural", + "confidence": 0.85, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py", + "class_name": "OpenRouter", + "method_name": null, + "line_number": 33, + "evidence": [ + "Takes adaptee in constructor: ['api_key', 'http_referer', 'x_title', 'server', 'server_url', 'url_params', 'client', 'async_client', 'retry_config', 'timeout_ms', 'debug_logger']", + "Implements interface: BaseSDK", + "Has 8 interface methods" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/sdk.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "SDKInitHook", + "method_name": null, + "line_number": 64, + "evidence": [ + "Part of strategy family with: BeforeRequestHook, AfterSuccessHook, AfterErrorHook", + "Strategy interface method: sdk_init" + ], + "related_classes": [ + "ABC" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "BeforeRequestHook", + "method_name": null, + "line_number": 70, + "evidence": [ + "Part of strategy family with: SDKInitHook, AfterSuccessHook, AfterErrorHook", + "Strategy interface method: before_request" + ], + "related_classes": [ + "ABC" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterSuccessHook", + "method_name": null, + "line_number": 78, + "evidence": [ + "Part of strategy family with: SDKInitHook, BeforeRequestHook, AfterErrorHook", + "Strategy interface method: after_success" + ], + "related_classes": [ + "ABC" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py", + "class_name": "AfterErrorHook", + "method_name": null, + "line_number": 86, + "evidence": [ + "Part of strategy family with: SDKInitHook, BeforeRequestHook, AfterSuccessHook", + "Strategy interface method: after_error" + ], + "related_classes": [ + "ABC" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/_hooks/types.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProviderSortConfig", + "method_name": null, + "line_number": 130, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider, ChatGenerationParamsPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsProvider", + "method_name": null, + "line_number": 293, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParamsTrace", + "method_name": null, + "line_number": 536, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: additional_properties" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "Reasoning", + "method_name": null, + "line_number": 585, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py", + "class_name": "ChatGenerationParams", + "method_name": null, + "line_number": 743, + "evidence": [ + "Part of strategy family with: ChatGenerationParamsProviderSortConfig, ChatGenerationParamsMaxPrice, ChatGenerationParamsProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationparams.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "CompletionTokensDetails", + "method_name": null, + "line_number": 29, + "evidence": [ + "Part of strategy family with: PromptTokensDetails, ChatGenerationTokenUsage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py", + "class_name": "ChatGenerationTokenUsage", + "method_name": null, + "line_number": 129, + "evidence": [ + "Part of strategy family with: CompletionTokensDetails, PromptTokensDetails", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatgenerationtokenusage.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprobTopLogprob", + "method_name": null, + "line_number": 17, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprob", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py", + "class_name": "ChatMessageTokenLogprob", + "method_name": null, + "line_number": 68, + "evidence": [ + "Part of strategy family with: ChatMessageTokenLogprobTopLogprob", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatmessagetokenlogprob.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py", + "class_name": "ChatStreamingResponseChunk", + "method_name": null, + "line_number": 63, + "evidence": [ + "Part of strategy family with: Error", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/chatstreamingresponsechunk.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py", + "class_name": "Architecture", + "method_name": null, + "line_number": 57, + "evidence": [ + "Part of strategy family with: ListEndpointsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/listendpointsresponse.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCall", + "method_name": null, + "line_number": 40, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCallOutput, OpenAIResponsesInputMessage2, OpenAIResponsesInputMessage1", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py", + "class_name": "OpenAIResponsesInputFunctionCallOutput", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: OpenAIResponsesInputFunctionCall, OpenAIResponsesInputMessage2, OpenAIResponsesInputMessage1", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openairesponsesinput_union.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py", + "class_name": "OpenResponsesEasyInputMessageContentInputImage", + "method_name": null, + "line_number": 81, + "evidence": [ + "Part of strategy family with: OpenResponsesEasyInputMessage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseseasyinputmessage.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py", + "class_name": "OpenResponsesInputMessageItemContentInputImage", + "method_name": null, + "line_number": 76, + "evidence": [ + "Part of strategy family with: OpenResponsesInputMessageItem", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesinputmessageitem.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponseToolFunction", + "method_name": null, + "line_number": 74, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py", + "class_name": "OpenResponsesNonStreamingResponse", + "method_name": null, + "line_number": 188, + "evidence": [ + "Part of strategy family with: OpenResponsesNonStreamingResponseToolFunction", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesnonstreamingresponse.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestToolFunction", + "method_name": null, + "line_number": 77, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider, OpenResponsesRequestPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestProvider", + "method_name": null, + "line_number": 286, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestPluginResponseHealing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequestTrace", + "method_name": null, + "line_number": 530, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider", + "Strategy interface method: additional_properties" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py", + "class_name": "OpenResponsesRequest", + "method_name": null, + "line_number": 608, + "evidence": [ + "Part of strategy family with: OpenResponsesRequestToolFunction, OpenResponsesRequestMaxPrice, OpenResponsesRequestProvider", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesrequest.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "CostDetails", + "method_name": null, + "line_number": 38, + "evidence": [ + "Part of strategy family with: InputTokensDetails, OutputTokensDetails, OpenResponsesUsage", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py", + "class_name": "OpenResponsesUsage", + "method_name": null, + "line_number": 91, + "evidence": [ + "Part of strategy family with: InputTokensDetails, OutputTokensDetails, CostDetails", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponsesusage.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826ToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826Tool", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py", + "class_name": "OpenResponsesWebSearch20250826Tool", + "method_name": null, + "line_number": 75, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearch20250826ToolFilters", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearch20250826tool.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchToolFilters", + "method_name": null, + "line_number": 30, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchTool", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py", + "class_name": "OpenResponsesWebSearchTool", + "method_name": null, + "line_number": 75, + "evidence": [ + "Part of strategy family with: OpenResponsesWebSearchToolFilters", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/openresponseswebsearchtool.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferencesProviderSortConfig", + "method_name": null, + "line_number": 105, + "evidence": [ + "Part of strategy family with: ProviderPreferencesMaxPrice, ProviderPreferences", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py", + "class_name": "ProviderPreferences", + "method_name": null, + "line_number": 267, + "evidence": [ + "Part of strategy family with: ProviderPreferencesProviderSortConfig, ProviderPreferencesMaxPrice", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/providerpreferences.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py", + "class_name": "PublicEndpoint", + "method_name": null, + "line_number": 102, + "evidence": [ + "Part of strategy family with: Pricing", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/publicendpoint.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py", + "class_name": "ToolDefinitionJSONFunction", + "method_name": null, + "line_number": 36, + "evidence": [ + "Part of strategy family with: ToolDefinitionJSON", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/components/tooldefinitionjson.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py", + "class_name": "CreateAuthKeysCodeRequestBody", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: CreateAuthKeysCodeGlobals, CreateAuthKeysCodeRequest, CreateAuthKeysCodeData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createauthkeyscode.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailRequestBody", + "method_name": null, + "line_number": 86, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequest, CreateGuardrailData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py", + "class_name": "CreateGuardrailData", + "method_name": null, + "line_number": 231, + "evidence": [ + "Part of strategy family with: CreateGuardrailGlobals, CreateGuardrailRequestBody, CreateGuardrailRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createguardrail.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysRequestBody", + "method_name": null, + "line_number": 83, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequest, CreateKeysData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py", + "class_name": "CreateKeysData", + "method_name": null, + "line_number": 220, + "evidence": [ + "Part of strategy family with: CreateKeysGlobals, CreateKeysRequestBody, CreateKeysRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/createkeys.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyRequestBody", + "method_name": null, + "line_number": 79, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobals, ExchangeAuthCodeForAPIKeyRequest, ExchangeAuthCodeForAPIKeyResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py", + "class_name": "ExchangeAuthCodeForAPIKeyResponse", + "method_name": null, + "line_number": 171, + "evidence": [ + "Part of strategy family with: ExchangeAuthCodeForAPIKeyGlobals, ExchangeAuthCodeForAPIKeyRequestBody, ExchangeAuthCodeForAPIKeyRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/exchangeauthcodeforapikey.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py", + "class_name": "GetCurrentKeyData", + "method_name": null, + "line_number": 156, + "evidence": [ + "Part of strategy family with: GetCurrentKeyGlobals, GetCurrentKeyRequest, RateLimit", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getcurrentkey.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "ProviderResponse", + "method_name": null, + "line_number": 218, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, GetGenerationRequest, GetGenerationData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py", + "class_name": "GetGenerationData", + "method_name": null, + "line_number": 346, + "evidence": [ + "Part of strategy family with: GetGenerationGlobals, GetGenerationRequest, ProviderResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getgeneration.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py", + "class_name": "GetGuardrailData", + "method_name": null, + "line_number": 134, + "evidence": [ + "Part of strategy family with: GetGuardrailGlobals, GetGuardrailRequest, GetGuardrailResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getguardrail.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py", + "class_name": "GetKeyData", + "method_name": null, + "line_number": 135, + "evidence": [ + "Part of strategy family with: GetKeyGlobals, GetKeyRequest, GetKeyResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/getkey.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py", + "class_name": "ListData", + "method_name": null, + "line_number": 142, + "evidence": [ + "Part of strategy family with: ListGlobals, ListRequest, ListResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/list.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py", + "class_name": "ListGuardrailKeyAssignmentsData", + "method_name": null, + "line_number": 123, + "evidence": [ + "Part of strategy family with: ListGuardrailKeyAssignmentsGlobals, ListGuardrailKeyAssignmentsRequest, ListGuardrailKeyAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailkeyassignments.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py", + "class_name": "ListGuardrailMemberAssignmentsData", + "method_name": null, + "line_number": 121, + "evidence": [ + "Part of strategy family with: ListGuardrailMemberAssignmentsGlobals, ListGuardrailMemberAssignmentsRequest, ListGuardrailMemberAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrailmemberassignments.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py", + "class_name": "ListGuardrailsData", + "method_name": null, + "line_number": 141, + "evidence": [ + "Part of strategy family with: ListGuardrailsGlobals, ListGuardrailsRequest, ListGuardrailsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listguardrails.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py", + "class_name": "ListKeyAssignmentsData", + "method_name": null, + "line_number": 111, + "evidence": [ + "Part of strategy family with: ListKeyAssignmentsGlobals, ListKeyAssignmentsRequest, ListKeyAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listkeyassignments.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py", + "class_name": "ListMemberAssignmentsData", + "method_name": null, + "line_number": 109, + "evidence": [ + "Part of strategy family with: ListMemberAssignmentsGlobals, ListMemberAssignmentsRequest, ListMemberAssignmentsResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listmemberassignments.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py", + "class_name": "ListProvidersData", + "method_name": null, + "line_number": 97, + "evidence": [ + "Part of strategy family with: ListProvidersGlobals, ListProvidersRequest, ListProvidersResponse", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/listproviders.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailRequestBody", + "method_name": null, + "line_number": 87, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequest, UpdateGuardrailData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py", + "class_name": "UpdateGuardrailData", + "method_name": null, + "line_number": 240, + "evidence": [ + "Part of strategy family with: UpdateGuardrailGlobals, UpdateGuardrailRequestBody, UpdateGuardrailRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updateguardrail.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysRequestBody", + "method_name": null, + "line_number": 84, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequest, UpdateKeysData", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py", + "class_name": "UpdateKeysData", + "method_name": null, + "line_number": 229, + "evidence": [ + "Part of strategy family with: UpdateKeysGlobals, UpdateKeysRequestBody, UpdateKeysRequest", + "Strategy interface method: serialize_model" + ], + "related_classes": [ + "BaseModel" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/operations/updatekeys.py" + }, + { + "pattern_type": "Strategy", + "category": "Behavioral", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "BackoffStrategy", + "method_name": null, + "line_number": 13, + "evidence": [ + "Class name suggests Strategy: BackoffStrategy" + ], + "related_classes": [], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py" + }, + { + "pattern_type": "Decorator", + "category": "Structural", + "confidence": 0.7, + "location": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py", + "class_name": "PermanentError", + "method_name": null, + "line_number": 63, + "evidence": [ + "Shares interface with: TemporaryError", + "Takes wrapped object in constructor: ['inner']" + ], + "related_classes": [ + "Exception" + ], + "file_path": "/home/richard/CygwinDirs/rz-projects/openrouter/python-sdk/src/openrouter/utils/retries.py" + } +] \ No newline at end of file diff --git a/.github/skills/openrouter-python-sdk/references/patterns/summary.json b/.github/skills/openrouter-python-sdk/references/patterns/summary.json new file mode 100644 index 000000000..e1cecba79 --- /dev/null +++ b/.github/skills/openrouter-python-sdk/references/patterns/summary.json @@ -0,0 +1,16 @@ +{ + "statistics": { + "total": 648, + "critical_count": 10, + "high_confidence_count": 70, + "medium_count": 86, + "low_count": 562 + }, + "thresholds": { + "critical": 0.8, + "high": 0.7, + "medium": 0.6, + "low": 0.5 + }, + "files_analyzed": 133 +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1870173af..811ae4a2a 100644 --- a/.gitignore +++ b/.gitignore @@ -224,4 +224,4 @@ test_providers.py # Internal analysis artifacts (not learning material) analysis/ -analysis_progress.md +analysis_progress.md \ No newline at end of file diff --git a/README_RZ.md b/README_RZ.md new file mode 100644 index 000000000..2fe8d7b32 --- /dev/null +++ b/README_RZ.md @@ -0,0 +1,33 @@ +# RZ Experiments + +Various experiments for inside out understanding of coding agent design and implementation + +## Repo management + +### setup up uptream to the source https://github.com/shareAI-lab/learn-claude-code.git in github + +``` +git remote add upstream https://github.com/shareAI-lab/learn-claude-code.git +git fetch upstream +``` + +### Repo branch for experiment and manage the code sync with original upstream + +``` +git checkout -b rz_experiment +``` + +## What to experiments + +### Use fully AI-native software development approach for the experiments + +- Create plan custom agent with what to experiment to generate a experiment plan agent +- Use low cost model to generate the experiment plan and use high end model to critize and enhance the experiment plan +- Assign the implementation changes and testing to the experiment plan agent for it to finish the task fully without intervention +- Use high cost model + +### learn-claude-code code base experiments + +Question: How agent manage agent skills and how agent decide which skill to inovke and with what information made available to agent skill or the full conext? + + diff --git a/outputs/open-router-implementation-plan-gpt-5.1-codex-mini.md b/outputs/open-router-implementation-plan-gpt-5.1-codex-mini.md new file mode 100644 index 000000000..6b2f52eb9 --- /dev/null +++ b/outputs/open-router-implementation-plan-gpt-5.1-codex-mini.md @@ -0,0 +1,2085 @@ +# OpenRouter Integration Implementation Plan +## for `learn-claude-code` Agent Framework + +**Document Version:** 1.0 +**Author:** Open Router Plan Agent +**Target Repository:** `learn-claude-code` (s01–s12 + s_full agent stages) + +--- + +## Table of Contents + +1. [Executive Summary](#executive-summary) +2. [Architecture Analysis](#architecture-analysis) +3. [Critical Design Decisions](#critical-design-decisions) +4. [Integration Architecture](#integration-architecture) +5. [Phase 1: Provider Abstraction Layer](#phase-1-provider-abstraction-layer) +6. [Phase 2: Configuration System](#phase-2-configuration-system) +7. [Phase 3: Refactor Agent Stages](#phase-3-refactor-agent-stages) +8. [Phase 4: Testing Framework](#phase-4-testing-framework) +9. [Phase 5: Documentation & CI Updates](#phase-5-documentation--ci-updates) +10. [Trade-offs & Justifications](#trade-offs--justifications) +11. [Missing Information & Clarifying Questions](#missing-information--clarifying-questions) + +--- + +## Executive Summary + +The `learn-claude-code` project currently uses the Anthropic Python SDK (`anthropic>=0.25.0`) exclusively across all 12 progressive agent stages. Each stage hardcodes `Anthropic(base_url=...)` client instantiation and relies on Anthropic-specific response types (`response.stop_reason`, `response.content`, `block.type`, `block.id`, etc.). + +This plan introduces **OpenRouter** as a second LLM provider by: +1. Creating a **common provider interface** (Protocol class) with normalized response types +2. Implementing **ClaudeProvider** (wraps existing Anthropic SDK) and **OpenRouterProvider** (wraps `openrouter` Python SDK) +3. Refactoring each of the 12 agent stages to use the provider interface with **zero change to agent logic** +4. Providing a **configuration switch** via environment variables (`LLM_PROVIDER=claude|openrouter`) +5. Adding **comprehensive unit tests** using mock providers + +**Key Insight:** The `.env.example` already documents Anthropic-compatible base URL switching (for MiniMax, GLM, Kimi, DeepSeek). OpenRouter's primary API is OpenAI-compatible (not Anthropic-compatible), making it fundamentally different — it requires a proper translation layer, not just a URL swap. + +--- + +## Architecture Analysis + +### Current Architecture (Uniform Pattern Across All Stages) + +``` +.env (ANTHROPIC_API_KEY, MODEL_ID, ANTHROPIC_BASE_URL) + | + v +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) +MODEL = os.environ["MODEL_ID"] + | + v +response = client.messages.create( + model=MODEL, + system=SYSTEM, ← Anthropic-specific: separate system param + messages=messages, ← Anthropic message format + tools=TOOLS, ← Anthropic tool schema format + max_tokens=8000, +) + | + v +response.stop_reason → "tool_use" | "end_turn" | "max_tokens" +response.content → List[TextBlock | ToolUseBlock] + block.type → "tool_use" | "text" + block.id → tool call ID + block.name → tool name + block.input → dict of tool arguments + block.text → text content +``` + +### API Differences: Anthropic vs OpenRouter + +| Aspect | Anthropic SDK | OpenRouter SDK | +|--------|--------------|----------------| +| Client class | `Anthropic(api_key, base_url)` | `OpenRouter(api_key, http_referer, x_title)` | +| API call | `client.messages.create(model, system, messages, tools, max_tokens)` | `client.chat.send(model, messages, tools, max_tokens)` | +| System prompt | Separate `system` parameter | `{"role": "system", "content": ...}` prepended to messages | +| Stop condition | `response.stop_reason == "tool_use"` | `response.choices[0].finish_reason == "tool_calls"` | +| Response content | `response.content` = list of typed blocks | `response.choices[0].message` | +| Tool calls | `block.type == "tool_use"` with `block.id/name/input` | `message.tool_calls[i].id/function.name/function.arguments` | +| Text content | `block.text` | `message.content` | +| Tool definition | `{"name":…, "description":…, "input_schema":{…}}` | `{"type":"function","function":{"name":…,"description":…,"parameters":{…}}}` | +| Tool result message | `{"role":"user","content":[{"type":"tool_result","tool_use_id":…,"content":…}]}` | `{"role":"tool","tool_call_id":…,"content":…}` | +| Assistant message with tools | `{"role":"assistant","content":[ToolUseBlock(…)]}` | `{"role":"assistant","content":null,"tool_calls":[…]}` | + +### Stage-by-Stage LLM Usage Summary + +| Stage | LLM Calls | Complexity | Special Notes | +|-------|-----------|-----------|---------------| +| s01 | 1 client, 1 call site in `agent_loop()` | Low | Baseline | +| s02 | 1 client, 1 call site in `agent_loop()` | Low | Identical to s01 | +| s03 | 1 client, 1 call site in `agent_loop()` | Low | Same pattern | +| s04 | 1 client, **2 call sites**: `agent_loop()` + `run_subagent()` | Medium | Subagent uses same client | +| s05 | 1 client, 1 call site in `agent_loop()` | Low | Same as s02 | +| s06 | 1 client, **2 call sites**: `agent_loop()` + `auto_compact()` | Medium | `auto_compact()` calls LLM for summarization | +| s07 | 1 client, 1 call site in `agent_loop()` | Low | Same as s02 | +| s08 | 1 client, 1 call site in `agent_loop()` | Low | Same as s02 | +| s09 | 1 client, **2 call sites**: `agent_loop()` + `_teammate_loop()` in thread | High | Each teammate thread calls LLM | +| s10 | 1 client, **2 call sites**: `agent_loop()` + `_teammate_loop()` in thread | High | Protocol FSM over teammate LLM calls | +| s11 | 1 client, **2 call sites**: `agent_loop()` + `_loop()` in thread | High | Autonomous idle-work cycle | +| s12 | 1 client, 1 call site in `agent_loop()` | Low | Worktree isolation | +| s_full | 1 client, **3+ call sites**: lead loop + subagent + teammate threads | Very High | All mechanisms combined | + +--- + +## Critical Design Decisions + +### Decision 1: Provider Abstraction via Protocol + Dataclasses ✅ CHOSEN + +**Approach:** Define a `LLMProvider` Protocol class and normalized response dataclasses that mimic the Anthropic SDK's interface. Each agent stage uses the provider via the common interface. + +**Justification:** +- **Zero agent logic change**: The normalized response objects have the same `.type`, `.id`, `.name`, `.input`, `.text` attributes as Anthropic typed blocks. Only the initialization code changes. +- **Testability**: Mock providers can be injected without network calls. +- **Extensibility**: Adding a third provider (e.g., Gemini) requires only a new provider implementation. + +**Rejected Alternatives:** +- *Anthropic-compatible base URL*: Simple but limited. OpenRouter doesn't fully implement the Anthropic `/v1/messages` endpoint for all non-Anthropic models. Only works for `anthropic/claude-*` models. +- *OpenAI SDK + base URL*: Still requires message format translation; no real advantage over using the proper OpenRouter SDK. +- *Full message format migration to dicts*: Would require extensive changes across all 12 stages and break the teaching clarity. + +### Decision 2: OpenRouter Python SDK (`openrouter` package) ✅ CHOSEN + +**Justification:** +- Official SDK with type safety (Pydantic-validated), auto-generated from OpenRouter's OpenAPI spec. +- Provides access to ALL OpenRouter features (provider routing, `zdr`, model fallbacks) — not just compatibility. +- `client.chat.send(messages, model, tools, max_tokens)` is clean and explicit. + +**Rejected Alternative:** Using `openai` library with `base_url="https://openrouter.ai/api/v1"`: +- Works but requires managing the OpenAI SDK version compatibility. +- Loses OpenRouter-specific features (provider hints, routing preferences). +- Less educational value for learners. + +### Decision 3: Messages Stored in Internal Normalized Format ✅ CHOSEN + +**Key Challenge:** After each LLM call, `messages.append({"role":"assistant","content":response.content})` stores Anthropic-typed objects. When messages are sent back on the next loop iteration, the provider must serialize them correctly. + +**Solution:** Store messages with **normalized dataclass objects** (`NormalizedToolUseBlock`, `NormalizedTextBlock`). Each provider's `create_message()` converts these internally to its own wire format before the API call. + +This means: +- `ClaudeProvider.create_message()` converts `NormalizedToolUseBlock → {"type":"tool_use", ...}` dict (Anthropic SDK accepts dicts) +- `OpenRouterProvider.create_message()` converts `NormalizedToolUseBlock → {"id":..., "type":"function", "function":{...}}` for OpenAI format +- The agent loop code is completely unchanged after initial refactoring + +--- + +## Integration Architecture + +### File Structure + +``` +agents/ +├── providers/ ← NEW: provider abstraction layer +│ ├── __init__.py ← exports: create_provider, load_config, NormalizedResponse... +│ ├── base.py ← LLMProvider Protocol, NormalizedResponse, NormalizedTextBlock, +│ │ NormalizedToolUseBlock +│ ├── claude.py ← ClaudeProvider (wraps anthropic.Anthropic) +│ ├── openrouter.py ← OpenRouterProvider (wraps openrouter.OpenRouter) +│ └── config.py ← ProviderConfig, load_config(), create_provider() +├── s01_agent_loop.py ← REFACTORED: replace client → provider +├── s02_tool_use.py ← REFACTORED +├── s03_todo_write.py ← REFACTORED +├── s04_subagent.py ← REFACTORED +├── s05_skill_loading.py ← REFACTORED +├── s06_context_compact.py ← REFACTORED (2 LLM call sites) +├── s07_task_system.py ← REFACTORED +├── s08_background_tasks.py ← REFACTORED +├── s09_agent_teams.py ← REFACTORED (2 LLM call sites, threads) +├── s10_team_protocols.py ← REFACTORED (2 LLM call sites, threads) +├── s11_autonomous_agents.py ← REFACTORED (2 LLM call sites, threads) +├── s12_worktree_task_isolation.py ← REFACTORED +└── s_full.py ← REFACTORED (3+ LLM call sites) + +tests/ +├── providers/ +│ ├── test_base.py +│ ├── test_claude_provider.py +│ ├── test_openrouter_provider.py +│ └── test_config.py +└── agents/ + ├── test_s01_agent_loop.py + ├── test_s02_tool_use.py + ├── test_s04_subagent.py + ├── test_s06_context_compact.py + └── test_s09_agent_teams.py + +.env.example ← UPDATED: add OpenRouter config section +requirements.txt ← UPDATED: add openrouter>=0.x.x +``` + +--- + +## Phase 1: Provider Abstraction Layer + +### Step 1.1: Create `agents/providers/base.py` + +**Purpose:** Define normalized response types and the `LLMProvider` Protocol. + +**Expected Outcome:** Normalized response objects that mimic Anthropic SDK's interface so existing agent code works with zero changes after provider injection. + +```python +# agents/providers/base.py +""" +LLM Provider abstraction layer. + +Defines the common interface and normalized response types used across +all agent stages (s01-s12). Both ClaudeProvider and OpenRouterProvider +implement this interface. + +Normalized response objects mimic the Anthropic SDK's attribute interface +(.type, .id, .name, .input, .text) so agent loop code requires no changes +when switching providers. +""" + +from __future__ import annotations +from dataclasses import dataclass, field +from typing import Any, Dict, List, Optional, Protocol, Union + + +@dataclass +class NormalizedTextBlock: + """Normalized text block — mirrors anthropic.types.TextBlock.""" + type: str = "text" + text: str = "" + + +@dataclass +class NormalizedToolUseBlock: + """ + Normalized tool use block — mirrors anthropic.types.ToolUseBlock. + + Attributes match the Anthropic SDK so agent loop code can use + block.type, block.id, block.name, block.input unchanged. + """ + type: str = "tool_use" + id: str = "" + name: str = "" + input: Dict[str, Any] = field(default_factory=dict) + + +ContentBlock = Union[NormalizedTextBlock, NormalizedToolUseBlock] + + +@dataclass +class NormalizedResponse: + """ + Normalized LLM response — provider-independent. + + stop_reason: "tool_use" (model wants to call a tool) or "end_turn" (done). + content: list of NormalizedTextBlock and/or NormalizedToolUseBlock. + """ + stop_reason: str # "tool_use" | "end_turn" + content: List[ContentBlock] + + +class LLMProvider(Protocol): + """ + Common interface for LLM providers. + + All agent stages use this interface exclusively. Provider-specific + initialization, message format conversion, and response normalization + are encapsulated inside each implementation. + """ + + def create_message( + self, + model: str, + system: str, + messages: List[Dict], + tools: List[Dict], + max_tokens: int = 8000, + ) -> NormalizedResponse: + """ + Send messages to the LLM and return a normalized response. + + Handles all format conversions (tools, messages, system prompt) + internally. Returns NormalizedResponse with stop_reason and content + using the standard normalized block types. + """ + ... + + def response_to_assistant_message( + self, response: NormalizedResponse + ) -> Dict: + """ + Convert a NormalizedResponse to an assistant message dict suitable + for appending to the messages list for the next LLM call. + + Returns: {"role": "assistant", "content": List[ContentBlock]} + The content list contains NormalizedToolUseBlock/NormalizedTextBlock + objects that both providers can serialize on the next call. + """ + ... +``` + +**Testing Plan:** +- Verify `NormalizedTextBlock` has correct default values +- Verify `NormalizedToolUseBlock` attribute access mirrors Anthropic types +- Verify `NormalizedResponse` stores stop_reason and content correctly +- Type checking with `mypy` or `pyright` + +--- + +### Step 1.2: Create `agents/providers/claude.py` + +**Purpose:** Wrap the existing Anthropic SDK with the `LLMProvider` interface. + +**Expected Outcome:** `ClaudeProvider` passes all existing test scenarios unchanged; the Anthropic SDK is still used under the hood. + +```python +# agents/providers/claude.py +""" +Claude provider: wraps anthropic.Anthropic to implement LLMProvider. + +Message format translation (NormalizedToolUseBlock → Anthropic dict) +happens inside create_message() so the agent loop code is unchanged. +""" + +from __future__ import annotations +import json +from typing import Any, Dict, List, Optional + +from anthropic import Anthropic + +from .base import ( + ContentBlock, + NormalizedResponse, + NormalizedTextBlock, + NormalizedToolUseBlock, +) + + +class ClaudeProvider: + """ + LLM provider backed by Anthropic's claude models. + + Supports all ANTHROPIC_BASE_URL-compatible providers (MiniMax, GLM, + Kimi, DeepSeek) by passing through the base_url parameter. + """ + + def __init__( + self, + api_key: Optional[str] = None, + base_url: Optional[str] = None, + ): + self.client = Anthropic(api_key=api_key, base_url=base_url) + + def create_message( + self, + model: str, + system: str, + messages: List[Dict], + tools: List[Dict], + max_tokens: int = 8000, + ) -> NormalizedResponse: + """ + Call Anthropic API and return a NormalizedResponse. + + Converts messages containing NormalizedToolUseBlock objects to + Anthropic dict format before the API call. + """ + # Convert normalized message blocks to Anthropic-compatible dicts + converted = self._convert_messages(messages) + + response = self.client.messages.create( + model=model, + system=system, + messages=converted, + tools=tools, + max_tokens=max_tokens, + ) + return self._normalize_response(response) + + def response_to_assistant_message( + self, response: NormalizedResponse + ) -> Dict: + """Return assistant message dict with normalized content blocks.""" + return {"role": "assistant", "content": response.content} + + def _convert_messages(self, messages: List[Dict]) -> List[Dict]: + """ + Convert messages list for the Anthropic SDK. + + NormalizedToolUseBlock → {"type":"tool_use", "id":..., ...} + NormalizedTextBlock → {"type":"text", "text":...} + + Raw Anthropic SDK objects are passed through unchanged. + """ + result = [] + for msg in messages: + content = msg.get("content") + if isinstance(content, list): + converted_content = [] + for block in content: + if isinstance(block, NormalizedToolUseBlock): + converted_content.append({ + "type": "tool_use", + "id": block.id, + "name": block.name, + "input": block.input, + }) + elif isinstance(block, NormalizedTextBlock): + converted_content.append({ + "type": "text", + "text": block.text, + }) + else: + # Raw Anthropic SDK objects or existing dicts + converted_content.append(block) + result.append({**msg, "content": converted_content}) + else: + result.append(msg) + return result + + def _normalize_response(self, response: Any) -> NormalizedResponse: + """Convert Anthropic SDK response to NormalizedResponse.""" + content: List[ContentBlock] = [] + for block in response.content: + if hasattr(block, "type") and block.type == "tool_use": + content.append(NormalizedToolUseBlock( + type="tool_use", + id=block.id, + name=block.name, + input=block.input, + )) + else: + text = getattr(block, "text", "") + content.append(NormalizedTextBlock(type="text", text=text)) + + stop_reason = ( + "tool_use" + if response.stop_reason == "tool_use" + else "end_turn" + ) + return NormalizedResponse(stop_reason=stop_reason, content=content) +``` + +**Testing Plan (Positive):** +- Mock `Anthropic.messages.create` → return a response with `stop_reason="tool_use"` and ToolUseBlock content +- Assert `NormalizedResponse.stop_reason == "tool_use"` +- Assert `NormalizedResponse.content[0]` is `NormalizedToolUseBlock` with correct id/name/input +- Test with `stop_reason="end_turn"` → `NormalizedResponse.stop_reason == "end_turn"` +- Test `_convert_messages` with NormalizedToolUseBlock objects in messages → correct dict format + +**Testing Plan (Negative):** +- Mock `Anthropic.messages.create` → raise `anthropic.APIError` → assert propagates +- Test `_convert_messages` with None content → no crash +- Test `_convert_messages` with string content → no crash + +--- + +### Step 1.3: Create `agents/providers/openrouter.py` + +**Purpose:** Wrap the `openrouter` Python SDK with the `LLMProvider` interface, translating between Anthropic message format and OpenAI/OpenRouter format. + +**Expected Outcome:** `OpenRouterProvider.create_message()` accepts the same inputs as `ClaudeProvider` and returns an identical `NormalizedResponse`. + +```python +# agents/providers/openrouter.py +""" +OpenRouter provider: wraps openrouter.OpenRouter SDK to implement LLMProvider. + +Translation layers: + 1. Tools: Anthropic {name, description, input_schema} + → OpenAI {type:"function", function:{name, description, parameters}} + 2. Messages: Anthropic list-of-blocks format + → OpenAI role/content/tool_calls format + 3. Response: OpenAI choices[0].message + → NormalizedResponse with NormalizedToolUseBlock + +System prompt: Anthropic separate 'system' param + → OpenAI {"role":"system","content":...} prepended to messages +""" + +from __future__ import annotations +import json +from typing import Any, Dict, List, Optional + +from openrouter import OpenRouter + +from .base import ( + ContentBlock, + NormalizedResponse, + NormalizedTextBlock, + NormalizedToolUseBlock, +) + + +class OpenRouterProvider: + """ + LLM provider backed by OpenRouter, supporting 300+ models. + + Uses the official openrouter Python SDK for type-safe API access. + Translates between Anthropic-style message format (used internally + in all agent stages) and OpenAI-style format required by OpenRouter. + """ + + def __init__( + self, + api_key: Optional[str] = None, + http_referer: Optional[str] = None, + x_title: Optional[str] = None, + ): + self.client = OpenRouter( + api_key=api_key, + http_referer=http_referer or "https://github.com/shareAI-lab/learn-claude-code", + x_title=x_title or "learn-claude-code", + ) + + def create_message( + self, + model: str, + system: str, + messages: List[Dict], + tools: List[Dict], + max_tokens: int = 8000, + ) -> NormalizedResponse: + """ + Call OpenRouter API and return a NormalizedResponse. + + Full translation pipeline: + 1. Convert tools to OpenAI function-calling format + 2. Prepend system prompt as {"role":"system"} message + 3. Convert messages (Anthropic format → OpenAI format) + 4. Call client.chat.send() + 5. Normalize response to NormalizedResponse + """ + oai_tools = self._convert_tools(tools) + oai_messages = self._convert_messages(system, messages) + + response = self.client.chat.send( + model=model, + messages=oai_messages, + tools=oai_tools if oai_tools else None, + max_tokens=max_tokens, + ) + return self._normalize_response(response) + + def response_to_assistant_message( + self, response: NormalizedResponse + ) -> Dict: + """Return assistant message dict with normalized content blocks.""" + return {"role": "assistant", "content": response.content} + + def _convert_tools(self, tools: List[Dict]) -> List[Dict]: + """ + Convert Anthropic tool definitions to OpenAI function format. + + Anthropic: {"name":…, "description":…, "input_schema":{…}} + OpenAI: {"type":"function","function":{"name":…,"description":…,"parameters":{…}}} + """ + return [ + { + "type": "function", + "function": { + "name": tool["name"], + "description": tool.get("description", ""), + "parameters": tool.get("input_schema", { + "type": "object", + "properties": {} + }), + }, + } + for tool in tools + ] + + def _convert_messages( + self, system: str, messages: List[Dict] + ) -> List[Dict]: + """ + Convert Anthropic-format messages to OpenAI-format messages. + + Prepends system prompt. Translates: + - assistant messages with NormalizedToolUseBlock → tool_calls format + - user messages with tool_result dicts → {"role":"tool"} messages + - Plain string content passes through unchanged + """ + result = [] + + # System prompt as first message + if system: + result.append({"role": "system", "content": system}) + + for msg in messages: + role = msg["role"] + content = msg.get("content") + + if role == "assistant": + if isinstance(content, list): + text_parts = [] + tool_calls = [] + for block in content: + if isinstance(block, NormalizedToolUseBlock): + tool_calls.append({ + "id": block.id, + "type": "function", + "function": { + "name": block.name, + "arguments": json.dumps(block.input), + }, + }) + elif isinstance(block, NormalizedTextBlock): + if block.text: + text_parts.append(block.text) + elif isinstance(block, dict): + # Handle raw dict blocks (tool_use or text dicts) + if block.get("type") == "tool_use": + tool_calls.append({ + "id": block["id"], + "type": "function", + "function": { + "name": block["name"], + "arguments": json.dumps(block.get("input", {})), + }, + }) + elif block.get("type") == "text": + if block.get("text"): + text_parts.append(block["text"]) + elif hasattr(block, "type"): + # Handle Anthropic SDK typed objects + if block.type == "tool_use": + tool_calls.append({ + "id": block.id, + "type": "function", + "function": { + "name": block.name, + "arguments": json.dumps(block.input), + }, + }) + elif block.type == "text": + if hasattr(block, "text") and block.text: + text_parts.append(block.text) + + oai_msg = { + "role": "assistant", + "content": " ".join(text_parts) or None, + } + if tool_calls: + oai_msg["tool_calls"] = tool_calls + result.append(oai_msg) + else: + result.append({"role": "assistant", "content": str(content or "")}) + + elif role == "user": + if isinstance(content, list): + # Check if this is a tool_result batch or mixed content + tool_results = [] + text_parts = [] + reminder_parts = [] + + for item in content: + if isinstance(item, dict): + if item.get("type") == "tool_result": + # Convert Anthropic tool_result → OpenAI tool role + tool_results.append({ + "role": "tool", + "tool_call_id": item["tool_use_id"], + "content": str(item.get("content", "")), + }) + elif item.get("type") == "text": + reminder_parts.append(item["text"]) + else: + text_parts.append(str(item)) + else: + text_parts.append(str(item)) + + # Add reminder text first (e.g. todo nag from s03) + if reminder_parts: + result.append({"role": "user", "content": "\n".join(reminder_parts)}) + # Add tool results as individual tool messages + result.extend(tool_results) + # Add any remaining text + if text_parts: + result.append({"role": "user", "content": "\n".join(text_parts)}) + else: + result.append({"role": "user", "content": str(content or "")}) + + else: + # Pass through any other roles (e.g. "system" injected by agent) + result.append(msg) + + return result + + def _normalize_response(self, response: Any) -> NormalizedResponse: + """Convert OpenRouter/OpenAI response to NormalizedResponse.""" + choice = response.choices[0] + finish_reason = choice.finish_reason or "" + message = choice.message + + content: List[ContentBlock] = [] + + # Text content + if message.content: + content.append(NormalizedTextBlock( + type="text", + text=message.content, + )) + + # Tool calls + if hasattr(message, "tool_calls") and message.tool_calls: + for tc in message.tool_calls: + try: + tool_input = json.loads(tc.function.arguments or "{}") + except (json.JSONDecodeError, AttributeError): + tool_input = {} + content.append(NormalizedToolUseBlock( + type="tool_use", + id=tc.id, + name=tc.function.name, + input=tool_input, + )) + + stop_reason = ( + "tool_use" + if finish_reason in ("tool_calls", "function_call") + else "end_turn" + ) + return NormalizedResponse(stop_reason=stop_reason, content=content) +``` + +**Testing Plan (Positive):** +- Mock `OpenRouter.chat.send` → return response with `finish_reason="tool_calls"` and tool_calls +- Assert `NormalizedResponse.stop_reason == "tool_use"` +- Assert `NormalizedResponse.content[0]` is `NormalizedToolUseBlock` with correct id/name/input (JSON deserialized) +- Test `_convert_tools` with Anthropic tool defs → correct OpenAI format +- Test `_convert_messages` with NormalizedToolUseBlock in assistant message → tool_calls format +- Test `_convert_messages` with tool_result dicts in user message → `{"role":"tool"}` messages +- Test system prompt prepend +- Test `finish_reason="stop"` → `NormalizedResponse.stop_reason == "end_turn"` + +**Testing Plan (Negative):** +- Mock `OpenRouter.chat.send` → raise connection error → assert propagates +- Test `_normalize_response` with `message.tool_calls = None` → no crash, empty content +- Test `_normalize_response` with malformed JSON in `tc.function.arguments` → empty dict fallback +- Test `_convert_messages` with empty messages list → only system message + +--- + +### Step 1.4: Create `agents/providers/config.py` + +**Purpose:** Environment-based configuration loading and provider factory. + +```python +# agents/providers/config.py +""" +Provider configuration: load from environment, create provider instance. + +Environment variables: + LLM_PROVIDER = "claude" (default) | "openrouter" + MODEL_ID = model identifier (format depends on provider) + +For Claude: + ANTHROPIC_API_KEY = sk-ant-xxx + ANTHROPIC_BASE_URL = optional, for compatible providers (MiniMax, GLM...) + +For OpenRouter: + OPENROUTER_API_KEY = sk-or-xxx + OPENROUTER_HTTP_REFERER = optional, your app URL + OPENROUTER_X_TITLE = optional, your app display name +""" + +from __future__ import annotations +import os +from dataclasses import dataclass, field +from enum import Enum +from typing import Optional + +from .base import LLMProvider + + +class ProviderType(str, Enum): + CLAUDE = "claude" + OPENROUTER = "openrouter" + + +@dataclass +class ProviderConfig: + provider: ProviderType + model: str + + # Claude-specific + anthropic_api_key: Optional[str] = None + anthropic_base_url: Optional[str] = None + + # OpenRouter-specific + openrouter_api_key: Optional[str] = None + openrouter_http_referer: Optional[str] = None + openrouter_x_title: Optional[str] = None + + +def load_config() -> ProviderConfig: + """ + Load provider configuration from environment variables. + + Defaults to Claude if LLM_PROVIDER is not set. + """ + provider_str = os.getenv("LLM_PROVIDER", "claude").lower().strip() + + try: + provider = ProviderType(provider_str) + except ValueError: + raise ValueError( + f"Unknown LLM_PROVIDER '{provider_str}'. " + f"Valid values: {[p.value for p in ProviderType]}" + ) + + model = os.getenv("MODEL_ID", "") + if not model: + # Provide sensible defaults per provider + defaults = { + ProviderType.CLAUDE: "claude-sonnet-4-6", + ProviderType.OPENROUTER: "anthropic/claude-sonnet-4-6", + } + model = defaults[provider] + + if provider == ProviderType.OPENROUTER: + api_key = os.getenv("OPENROUTER_API_KEY") + if not api_key: + raise ValueError( + "OPENROUTER_API_KEY environment variable is required " + "when LLM_PROVIDER=openrouter" + ) + return ProviderConfig( + provider=provider, + model=model, + openrouter_api_key=api_key, + openrouter_http_referer=os.getenv("OPENROUTER_HTTP_REFERER"), + openrouter_x_title=os.getenv("OPENROUTER_X_TITLE"), + ) + else: + return ProviderConfig( + provider=provider, + model=model, + anthropic_api_key=os.getenv("ANTHROPIC_API_KEY"), + anthropic_base_url=os.getenv("ANTHROPIC_BASE_URL"), + ) + + +def create_provider(config: Optional[ProviderConfig] = None) -> LLMProvider: + """ + Create an LLM provider instance from config. + + If config is not provided, loads from environment automatically. + This is the primary factory function used by all agent stages. + + Usage in agent stages: + from providers import create_provider, load_config + config = load_config() + provider = create_provider(config) + MODEL = config.model + """ + if config is None: + config = load_config() + + if config.provider == ProviderType.OPENROUTER: + from .openrouter import OpenRouterProvider + return OpenRouterProvider( + api_key=config.openrouter_api_key, + http_referer=config.openrouter_http_referer, + x_title=config.openrouter_x_title, + ) + else: + from .claude import ClaudeProvider + return ClaudeProvider( + api_key=config.anthropic_api_key, + base_url=config.anthropic_base_url, + ) +``` + +### Step 1.5: Create `agents/providers/__init__.py` + +```python +# agents/providers/__init__.py +from .base import ( + ContentBlock, + LLMProvider, + NormalizedResponse, + NormalizedTextBlock, + NormalizedToolUseBlock, +) +from .config import ProviderConfig, ProviderType, create_provider, load_config + +__all__ = [ + "ContentBlock", + "LLMProvider", + "NormalizedResponse", + "NormalizedTextBlock", + "NormalizedToolUseBlock", + "ProviderConfig", + "ProviderType", + "create_provider", + "load_config", +] +``` + +--- + +## Phase 2: Configuration System + +### Step 2.1: Update `.env.example` + +Add OpenRouter configuration section alongside the existing Claude config: + +```bash +# ============================================================================= +# LLM Provider Selection +# ============================================================================= +# Options: "claude" (default) | "openrouter" +LLM_PROVIDER=claude + +# Model ID — format depends on the selected provider (see below) +MODEL_ID=claude-sonnet-4-6 + +# ============================================================================= +# PROVIDER: Claude (Anthropic) — default +# ============================================================================= +ANTHROPIC_API_KEY=sk-ant-xxx + +# Optional: Anthropic-compatible base URL for other providers +# ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic +# MODEL_ID=MiniMax-M2.5 + +# ============================================================================= +# PROVIDER: OpenRouter — access 300+ models from one API +# ============================================================================= +# Uncomment and set to use OpenRouter: +# LLM_PROVIDER=openrouter +# OPENROUTER_API_KEY=sk-or-xxx # from openrouter.ai/settings/keys +# OPENROUTER_HTTP_REFERER=https://your-app # optional, for tracking +# OPENROUTER_X_TITLE=My Agent # optional, display name + +# OpenRouter Model IDs (prefix with provider/): +# MODEL_ID=anthropic/claude-sonnet-4-6 # Claude via OpenRouter +# MODEL_ID=openai/gpt-4o # GPT-4o via OpenRouter +# MODEL_ID=google/gemini-2.0-flash # Gemini via OpenRouter +# MODEL_ID=deepseek/deepseek-chat # DeepSeek via OpenRouter +# MODEL_ID=minimax/minimax-m2 # MiniMax via OpenRouter +# MODEL_ID=meta-llama/llama-3.3-70b-instruct # LLaMA via OpenRouter +``` + +### Step 2.2: Update `requirements.txt` + +``` +anthropic>=0.25.0 +python-dotenv>=1.0.0 +openrouter>=0.1.0 # OpenRouter Python SDK +``` + +> **Note:** Pin to a specific version once validated, since the OpenRouter SDK is in beta. +> The README notes the beta status: "there may be breaking changes between versions without a major version update." + +--- + +## Phase 3: Refactor Agent Stages + +### The Standard Refactoring Pattern + +Every agent stage follows the same 3-step refactoring: + +**BEFORE (all stages):** +```python +import os +from anthropic import Anthropic +from dotenv import load_dotenv + +load_dotenv(override=True) +if os.getenv("ANTHROPIC_BASE_URL"): + os.environ.pop("ANTHROPIC_AUTH_TOKEN", None) + +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) +MODEL = os.environ["MODEL_ID"] + +# In agent_loop(): +response = client.messages.create( + model=MODEL, system=SYSTEM, messages=messages, + tools=TOOLS, max_tokens=8000, +) +messages.append({"role": "assistant", "content": response.content}) +if response.stop_reason != "tool_use": + return +``` + +**AFTER (all stages):** +```python +import os +from dotenv import load_dotenv +from providers import create_provider, load_config + +load_dotenv(override=True) + +_config = load_config() +provider = create_provider(_config) +MODEL = _config.model + +# In agent_loop(): +response = provider.create_message( + model=MODEL, system=SYSTEM, messages=messages, + tools=TOOLS, max_tokens=8000, +) +messages.append(provider.response_to_assistant_message(response)) +if response.stop_reason != "tool_use": + return +``` + +The tool dispatch code is **completely unchanged**: +```python +# This works identically for both providers — response.content contains +# NormalizedToolUseBlock objects with .type, .id, .name, .input attributes +for block in response.content: + if block.type == "tool_use": + output = TOOL_HANDLERS[block.name](**block.input) + results.append({"type": "tool_result", "tool_use_id": block.id, "content": output}) +``` + +--- + +### Step 3.1: Refactor s01_agent_loop.py + +**Complexity:** Low — 1 call site. +**Change diff:** Replace 5 lines of init code + 2 lines in `agent_loop()`. + +```python +# Before: from anthropic import Anthropic +# After: +from providers import create_provider, load_config + +_config = load_config() +provider = create_provider(_config) +MODEL = _config.model + +# In agent_loop(), change: +# response = client.messages.create(...) +# messages.append({"role": "assistant", "content": response.content}) +# To: +# response = provider.create_message(...) +# messages.append(provider.response_to_assistant_message(response)) +``` + +**Testing:** +- Unit test with `MockProvider` that returns a single `NormalizedResponse(stop_reason="end_turn", content=[NormalizedTextBlock(...)])` +- Verify loop exits when `stop_reason != "tool_use"` +- Unit test with `MockProvider` that returns `stop_reason="tool_use"` followed by `stop_reason="end_turn"` +- Verify tool call extracted, executed, result appended, loop continues + +--- + +### Step 3.2: Refactor s02_tool_use.py + +**Complexity:** Low — 1 call site. Identical pattern to s01. +**Additional test:** Verify the dispatch map handles tool calls correctly with normalized blocks. + +--- + +### Step 3.3: Refactor s03_todo_write.py + +**Complexity:** Low — 1 call site. Verify the nag reminder injection still works: +```python +# The reminder injected as {"type": "text", "text": "..."} in results[] +# OpenRouter provider must handle this in _convert_messages() +# → included in the reminder_parts handling in user message conversion +``` + +**Testing:** +- Verify reminder text `{"type": "text", "text": "..."}` in user content is correctly converted to a user message by OpenRouterProvider + +--- + +### Step 3.4: Refactor s04_subagent.py + +**Complexity:** Medium — 2 call sites: `agent_loop()` and `run_subagent()`. + +**Key change in `run_subagent()`:** +```python +# Before: +response = client.messages.create( + model=MODEL, system=SUBAGENT_SYSTEM, messages=sub_messages, + tools=CHILD_TOOLS, max_tokens=8000, +) +sub_messages.append({"role": "assistant", "content": response.content}) +if response.stop_reason != "tool_use": + break +# After: +response = provider.create_message( + model=MODEL, system=SUBAGENT_SYSTEM, messages=sub_messages, + tools=CHILD_TOOLS, max_tokens=8000, +) +sub_messages.append(provider.response_to_assistant_message(response)) +if response.stop_reason != "tool_use": + break +``` + +**Testing:** +- Test parent agent spawning a subagent → verify subagent uses the same provider +- Test subagent returning summary to parent +- Verify child context discarded (only summary returned) + +--- + +### Step 3.5: Refactor s05_skill_loading.py + +**Complexity:** Low — 1 call site. Identical to s02 pattern. +**Note:** Skill loading is pure Python (file I/O), no LLM changes needed. + +--- + +### Step 3.6: Refactor s06_context_compact.py + +**Complexity:** Medium — 2 call sites: `agent_loop()` AND `auto_compact()`. + +**Key change in `auto_compact()`:** +```python +# Before (uses client directly for summarization): +response = client.messages.create( + model=MODEL, + messages=[{"role": "user", "content": "Summarize..."}], + max_tokens=2000, +) +summary = response.content[0].text + +# After (uses provider, with empty tools list and empty system): +response = provider.create_message( + model=MODEL, + system="", + messages=[{"role": "user", "content": "Summarize..."}], + tools=[], + max_tokens=2000, +) +summary_blocks = [b for b in response.content if b.type == "text"] +summary = summary_blocks[0].text if summary_blocks else "(no summary)" +``` + +**Testing:** +- Test `auto_compact` uses the provider's `create_message()` for summarization +- Test that summary is extracted from `NormalizedTextBlock.text` +- Test threshold check triggers auto_compact +- Test manual compact tool triggers `auto_compact` + +--- + +### Step 3.7: Refactor s07_task_system.py + +**Complexity:** Low — 1 call site. `TaskManager` is pure file I/O. + +--- + +### Step 3.8: Refactor s08_background_tasks.py + +**Complexity:** Low — 1 call site. `BackgroundManager` uses threads but no LLM. + +--- + +### Step 3.9: Refactor s09_agent_teams.py + +**Complexity:** High — 2 call sites: `agent_loop()` (main thread) AND `_teammate_loop()` (daemon threads). + +**Critical thread-safety consideration:** The `provider` object is created once and shared across the lead and all teammate threads. The OpenRouter SDK client uses HTTPX internally — verify thread safety. + +**Recommendation:** Create a `threading.local()` provider per thread or verify that `OpenRouter` client is thread-safe (HTTPX is generally thread-safe for synchronous calls). + +```python +# Teammate thread now uses the shared provider: +response = provider.create_message( + model=MODEL, + system=sys_prompt, + messages=messages, + tools=tools, + max_tokens=8000, +) +messages.append(provider.response_to_assistant_message(response)) +if response.stop_reason != "tool_use": + break +``` + +**Testing:** +- Test teammate spawn with mock provider +- Test inter-teammate messaging flow +- Test thread safety: spawn 3 teammates simultaneously, verify no race conditions on mock provider + +--- + +### Step 3.10: Refactor s10_team_protocols.py + +**Complexity:** High — Same as s09 plus protocol FSM. +**Change:** Same 2-site refactoring pattern as s09. + +--- + +### Step 3.11: Refactor s11_autonomous_agents.py + +**Complexity:** High — Idle-cycle + task board + 2 LLM call sites. +**Change:** Same 2-site refactoring as s09/s10. The idle polling loop (time.sleep) has no LLM calls. + +--- + +### Step 3.12: Refactor s12_worktree_task_isolation.py + +**Complexity:** Low — 1 call site. `TaskManager` and `WorktreeManager` are pure file/git operations. + +--- + +### Step 3.13: Refactor s_full.py + +**Complexity:** Very High — 3+ call sites (lead loop, subagent, teammate threads). + +**Changes required:** +1. Replace initialization (same pattern as all stages) +2. Refactor `agent_loop()` (lead) +3. Refactor `run_subagent()` +4. Refactor teammate `_loop()` in `TeammateManager` +5. Refactor `auto_compact()` (if included — s_full combines s06) + +**Testing:** +- Integration test with mock provider simulating full multi-agent flow +- Test that all mechanisms (skills, compact, tasks, teams) work together + +--- + +## Phase 4: Testing Framework + +### Step 4.1: Create `tests/providers/test_base.py` + +```python +"""Tests for normalized response types.""" +import pytest +from agents.providers.base import ( + NormalizedTextBlock, + NormalizedToolUseBlock, + NormalizedResponse, +) + + +class TestNormalizedTextBlock: + def test_default_type(self): + block = NormalizedTextBlock(text="hello") + assert block.type == "text" + + def test_text_attribute(self): + block = NormalizedTextBlock(text="hello") + assert block.text == "hello" + + def test_hasattr_text(self): + """Agent code uses hasattr(block, 'text') — must work.""" + block = NormalizedTextBlock(text="hello") + assert hasattr(block, "text") + + +class TestNormalizedToolUseBlock: + def test_default_type(self): + block = NormalizedToolUseBlock(id="abc", name="bash", input={"command": "ls"}) + assert block.type == "tool_use" + + def test_attributes(self): + block = NormalizedToolUseBlock(id="abc", name="bash", input={"command": "ls"}) + assert block.id == "abc" + assert block.name == "bash" + assert block.input == {"command": "ls"} + + def test_no_text_attribute(self): + """Tool blocks don't have text — hasattr(block, 'text') == False.""" + block = NormalizedToolUseBlock(id="1", name="bash", input={}) + assert not hasattr(block, "text") + + +class TestNormalizedResponse: + def test_stop_reason_tool_use(self): + response = NormalizedResponse(stop_reason="tool_use", content=[]) + assert response.stop_reason == "tool_use" + assert response.stop_reason != "end_turn" + + def test_stop_reason_end_turn(self): + response = NormalizedResponse(stop_reason="end_turn", content=[]) + assert response.stop_reason != "tool_use" + + def test_content_access(self): + blocks = [NormalizedTextBlock(text="hi"), NormalizedToolUseBlock(id="1", name="bash", input={})] + response = NormalizedResponse(stop_reason="tool_use", content=blocks) + assert len(response.content) == 2 + assert response.content[0].type == "text" + assert response.content[1].type == "tool_use" +``` + +--- + +### Step 4.2: Create `tests/providers/test_claude_provider.py` + +```python +"""Tests for ClaudeProvider.""" +import pytest +from unittest.mock import MagicMock, patch + +from agents.providers.claude import ClaudeProvider +from agents.providers.base import NormalizedTextBlock, NormalizedToolUseBlock + + +class MockAnthropicTextBlock: + type = "text" + text = "Hello, world!" + +class MockAnthropicToolUseBlock: + type = "tool_use" + id = "tool_abc" + name = "bash" + input = {"command": "ls"} + +class MockAnthropicResponse: + def __init__(self, stop_reason, content): + self.stop_reason = stop_reason + self.content = content + + +@pytest.fixture +def mock_anthropic(): + with patch("agents.providers.claude.Anthropic") as MockAnthropic: + instance = MockAnthropic.return_value + yield instance + + +class TestClaudeProviderPositive: + def test_text_response(self, mock_anthropic): + """Returns NormalizedTextBlock for text responses.""" + mock_anthropic.messages.create.return_value = MockAnthropicResponse( + stop_reason="end_turn", + content=[MockAnthropicTextBlock()], + ) + provider = ClaudeProvider(api_key="test") + response = provider.create_message( + model="claude-3-sonnet", + system="You are a coder.", + messages=[{"role": "user", "content": "Hi"}], + tools=[], + ) + assert response.stop_reason == "end_turn" + assert len(response.content) == 1 + assert isinstance(response.content[0], NormalizedTextBlock) + assert response.content[0].text == "Hello, world!" + + def test_tool_use_response(self, mock_anthropic): + """Returns NormalizedToolUseBlock for tool_use responses.""" + mock_anthropic.messages.create.return_value = MockAnthropicResponse( + stop_reason="tool_use", + content=[MockAnthropicToolUseBlock()], + ) + provider = ClaudeProvider(api_key="test") + response = provider.create_message( + model="claude-3-sonnet", + system="You are a coder.", + messages=[{"role": "user", "content": "List files"}], + tools=[{"name": "bash", "description": "...", "input_schema": {}}], + ) + assert response.stop_reason == "tool_use" + assert len(response.content) == 1 + block = response.content[0] + assert isinstance(block, NormalizedToolUseBlock) + assert block.id == "tool_abc" + assert block.name == "bash" + assert block.input == {"command": "ls"} + + def test_convert_messages_with_normalized_blocks(self, mock_anthropic): + """NormalizedToolUseBlock in messages → Anthropic dict format.""" + mock_anthropic.messages.create.return_value = MockAnthropicResponse( + stop_reason="end_turn", content=[MockAnthropicTextBlock()]) + + provider = ClaudeProvider(api_key="test") + normalized_block = NormalizedToolUseBlock(id="t1", name="bash", input={"command": "ls"}) + messages = [ + {"role": "assistant", "content": [normalized_block]}, + {"role": "user", "content": [{"type": "tool_result", "tool_use_id": "t1", "content": "output"}]}, + ] + provider.create_message("model", "sys", messages, []) + + # Verify the Anthropic SDK received dict format (not NormalizedToolUseBlock) + call_args = mock_anthropic.messages.create.call_args + sent_messages = call_args.kwargs["messages"] + assert sent_messages[0]["content"][0] == { + "type": "tool_use", "id": "t1", "name": "bash", "input": {"command": "ls"} + } + + +class TestClaudeProviderNegative: + def test_api_error_propagates(self, mock_anthropic): + """API errors should propagate to caller.""" + from anthropic import APIConnectionError + mock_anthropic.messages.create.side_effect = APIConnectionError(request=MagicMock()) + + provider = ClaudeProvider(api_key="test") + with pytest.raises(APIConnectionError): + provider.create_message("model", "sys", [{"role": "user", "content": "hi"}], []) + + def test_empty_content_list(self, mock_anthropic): + """Empty content list is handled gracefully.""" + mock_anthropic.messages.create.return_value = MockAnthropicResponse( + stop_reason="end_turn", content=[]) + provider = ClaudeProvider(api_key="test") + response = provider.create_message("model", "sys", [{"role": "user", "content": "hi"}], []) + assert response.content == [] + assert response.stop_reason == "end_turn" +``` + +--- + +### Step 4.3: Create `tests/providers/test_openrouter_provider.py` + +```python +"""Tests for OpenRouterProvider — message format translation + normalization.""" +import json +import pytest +from unittest.mock import MagicMock, patch + +from agents.providers.openrouter import OpenRouterProvider +from agents.providers.base import NormalizedTextBlock, NormalizedToolUseBlock + + +def make_mock_or_response(finish_reason, content_text=None, tool_calls=None): + """Build a mock OpenRouter chat response.""" + message = MagicMock() + message.content = content_text + message.tool_calls = tool_calls + + choice = MagicMock() + choice.finish_reason = finish_reason + choice.message = message + + response = MagicMock() + response.choices = [choice] + return response + + +@pytest.fixture +def mock_openrouter(): + with patch("agents.providers.openrouter.OpenRouter") as MockOR: + instance = MockOR.return_value + yield instance + + +class TestOpenRouterToolConversion: + def test_anthropic_tools_to_openai_format(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + anthropic_tools = [{ + "name": "bash", + "description": "Run shell command", + "input_schema": { + "type": "object", + "properties": {"command": {"type": "string"}}, + "required": ["command"], + } + }] + result = provider._convert_tools(anthropic_tools) + assert result == [{ + "type": "function", + "function": { + "name": "bash", + "description": "Run shell command", + "parameters": { + "type": "object", + "properties": {"command": {"type": "string"}}, + "required": ["command"], + } + } + }] + + def test_empty_tools_list(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + assert provider._convert_tools([]) == [] + + +class TestOpenRouterMessageConversion: + def test_system_prompt_prepended(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + result = provider._convert_messages("You are a coder.", [ + {"role": "user", "content": "Hi"} + ]) + assert result[0] == {"role": "system", "content": "You are a coder."} + assert result[1] == {"role": "user", "content": "Hi"} + + def test_normalized_tool_use_block_in_assistant_message(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + block = NormalizedToolUseBlock(id="t1", name="bash", input={"command": "ls"}) + result = provider._convert_messages("", [ + {"role": "assistant", "content": [block]} + ]) + assistant_msg = next(m for m in result if m["role"] == "assistant") + assert assistant_msg["tool_calls"] == [{ + "id": "t1", + "type": "function", + "function": {"name": "bash", "arguments": '{"command": "ls"}'} + }] + + def test_tool_result_to_tool_role(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + result = provider._convert_messages("", [ + {"role": "user", "content": [ + {"type": "tool_result", "tool_use_id": "t1", "content": "file.txt"} + ]} + ]) + tool_msg = next(m for m in result if m.get("role") == "tool") + assert tool_msg == {"role": "tool", "tool_call_id": "t1", "content": "file.txt"} + + def test_todo_reminder_in_user_message(self): + """s03 injects {"type":"text","text":"..."} — must become user message.""" + provider = OpenRouterProvider.__new__(OpenRouterProvider) + result = provider._convert_messages("", [ + {"role": "user", "content": [ + {"type": "text", "text": "Update your todos."}, + {"type": "tool_result", "tool_use_id": "t1", "content": "done"}, + ]} + ]) + # Should produce a user message with reminder AND a tool message + user_msgs = [m for m in result if m["role"] == "user"] + tool_msgs = [m for m in result if m["role"] == "tool"] + assert any("" in m.get("content", "") for m in user_msgs) + assert len(tool_msgs) == 1 + + +class TestOpenRouterResponseNormalization: + def test_tool_calls_response(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + mock_tc = MagicMock() + mock_tc.id = "call_123" + mock_tc.function.name = "bash" + mock_tc.function.arguments = '{"command": "ls -la"}' + + response = make_mock_or_response("tool_calls", tool_calls=[mock_tc]) + result = provider._normalize_response(response) + + assert result.stop_reason == "tool_use" + assert len(result.content) == 1 + block = result.content[0] + assert isinstance(block, NormalizedToolUseBlock) + assert block.id == "call_123" + assert block.name == "bash" + assert block.input == {"command": "ls -la"} + + def test_text_response(self): + provider = OpenRouterProvider.__new__(OpenRouterProvider) + response = make_mock_or_response("stop", content_text="Hello!") + result = provider._normalize_response(response) + + assert result.stop_reason == "end_turn" + assert len(result.content) == 1 + assert isinstance(result.content[0], NormalizedTextBlock) + assert result.content[0].text == "Hello!" + + def test_malformed_tool_arguments_fallback(self): + """Malformed JSON in tool arguments → empty dict, no crash.""" + provider = OpenRouterProvider.__new__(OpenRouterProvider) + mock_tc = MagicMock() + mock_tc.id = "t1" + mock_tc.function.name = "bash" + mock_tc.function.arguments = "NOT_VALID_JSON" + + response = make_mock_or_response("tool_calls", tool_calls=[mock_tc]) + result = provider._normalize_response(response) + + assert result.content[0].input == {} + + def test_no_tool_calls(self): + """Response with no tool_calls → no NormalizedToolUseBlock.""" + provider = OpenRouterProvider.__new__(OpenRouterProvider) + mock_message = MagicMock() + mock_message.content = "Done" + mock_message.tool_calls = None + + choice = MagicMock() + choice.finish_reason = "stop" + choice.message = mock_message + + response = MagicMock() + response.choices = [choice] + + result = provider._normalize_response(response) + assert result.stop_reason == "end_turn" + tool_blocks = [b for b in result.content if b.type == "tool_use"] + assert len(tool_blocks) == 0 + + +class TestOpenRouterProviderIntegration: + def test_full_tool_use_cycle(self, mock_openrouter): + """End-to-end: provider call → tool use → tool result round-trip.""" + mock_tc = MagicMock() + mock_tc.id = "call_abc" + mock_tc.function.name = "bash" + mock_tc.function.arguments = '{"command": "ls"}' + + mock_openrouter.chat.send.return_value = make_mock_or_response( + "tool_calls", tool_calls=[mock_tc]) + + provider = OpenRouterProvider(api_key="test-key") + response = provider.create_message( + model="anthropic/claude-sonnet-4-6", + system="You are a coder.", + messages=[{"role": "user", "content": "List files"}], + tools=[{"name": "bash", "description": "Run command", + "input_schema": {"type": "object", "properties": {"command": {"type": "string"}}, "required": ["command"]}}], + ) + assert response.stop_reason == "tool_use" + assert response.content[0].name == "bash" + + # Verify tools were converted to OpenAI format + call_args = mock_openrouter.chat.send.call_args + tools_sent = call_args.kwargs.get("tools") or call_args.args[0] if call_args.args else None + # (exact assertion depends on how the SDK accepts kwargs) +``` + +--- + +### Step 4.4: Create `tests/providers/test_config.py` + +```python +"""Tests for provider configuration loading.""" +import os +import pytest +from unittest.mock import patch + +from agents.providers.config import load_config, create_provider, ProviderType + + +class TestLoadConfig: + def test_default_is_claude(self): + with patch.dict(os.environ, {"LLM_PROVIDER": ""}, clear=False): + os.environ.pop("LLM_PROVIDER", None) + config = load_config() + assert config.provider == ProviderType.CLAUDE + + def test_claude_provider(self): + with patch.dict(os.environ, { + "LLM_PROVIDER": "claude", + "MODEL_ID": "claude-sonnet-4-6", + "ANTHROPIC_API_KEY": "sk-ant-test" + }): + config = load_config() + assert config.provider == ProviderType.CLAUDE + assert config.model == "claude-sonnet-4-6" + assert config.anthropic_api_key == "sk-ant-test" + + def test_openrouter_provider(self): + with patch.dict(os.environ, { + "LLM_PROVIDER": "openrouter", + "MODEL_ID": "anthropic/claude-sonnet-4-6", + "OPENROUTER_API_KEY": "sk-or-test", + }): + config = load_config() + assert config.provider == ProviderType.OPENROUTER + assert config.model == "anthropic/claude-sonnet-4-6" + assert config.openrouter_api_key == "sk-or-test" + + def test_unknown_provider_raises(self): + with patch.dict(os.environ, {"LLM_PROVIDER": "unknown_provider"}): + with pytest.raises(ValueError, match="Unknown LLM_PROVIDER"): + load_config() + + def test_openrouter_missing_api_key_raises(self): + env = {"LLM_PROVIDER": "openrouter", "MODEL_ID": "anthropic/claude"} + env.pop("OPENROUTER_API_KEY", None) + with patch.dict(os.environ, env, clear=False): + os.environ.pop("OPENROUTER_API_KEY", None) + with pytest.raises(ValueError, match="OPENROUTER_API_KEY"): + load_config() + + def test_model_default_for_claude(self): + with patch.dict(os.environ, {"LLM_PROVIDER": "claude", "ANTHROPIC_API_KEY": "key"}, clear=True): + os.environ.pop("MODEL_ID", None) + config = load_config() + assert config.model == "claude-sonnet-4-6" + + def test_model_default_for_openrouter(self): + with patch.dict(os.environ, {"LLM_PROVIDER": "openrouter", "OPENROUTER_API_KEY": "key"}, clear=True): + os.environ.pop("MODEL_ID", None) + config = load_config() + assert config.model == "anthropic/claude-sonnet-4-6" +``` + +--- + +### Step 4.5: Create `tests/agents/test_s01_agent_loop.py` + +**Pattern for all agent stage tests: mock the provider, verify agent loop behavior** + +```python +""" +Tests for s01_agent_loop.py using mock provider. + +Key insight: by mocking the provider, we test the agent's loop logic +independently of any network calls or LLM behavior. +""" +import pytest +from unittest.mock import MagicMock, patch +from agents.providers.base import ( + NormalizedResponse, NormalizedTextBlock, NormalizedToolUseBlock +) + + +class MockProvider: + """Configurable mock LLM provider for agent loop testing.""" + + def __init__(self, responses): + self.responses = iter(responses) + self.calls = [] + + def create_message(self, model, system, messages, tools, max_tokens=8000): + self.calls.append({"model": model, "messages": list(messages), "tools": tools}) + return next(self.responses) + + def response_to_assistant_message(self, response): + return {"role": "assistant", "content": response.content} + + +@pytest.fixture +def tool_response(): + return NormalizedResponse( + stop_reason="tool_use", + content=[NormalizedToolUseBlock(id="t1", name="bash", input={"command": "echo hello"})], + ) + +@pytest.fixture +def text_response(): + return NormalizedResponse( + stop_reason="end_turn", + content=[NormalizedTextBlock(text="Task complete.")], + ) + + +class TestAgentLoopPositive: + def test_single_turn_no_tools(self, text_response): + """Agent loop exits when stop_reason is not tool_use.""" + from agents.s01_agent_loop import agent_loop + + provider = MockProvider([text_response]) + messages = [{"role": "user", "content": "Hi"}] + + with patch("agents.s01_agent_loop.provider", provider): + agent_loop(messages) + + assert len(provider.calls) == 1 + # Messages: [user, assistant] + assert len(messages) == 2 + assert messages[-1]["role"] == "assistant" + + def test_tool_use_then_complete(self, tool_response, text_response): + """Agent loop calls tool and continues until stop_reason != tool_use.""" + from agents.s01_agent_loop import agent_loop + + executed_commands = [] + + def mock_run_bash(command): + executed_commands.append(command) + return "hello" + + provider = MockProvider([tool_response, text_response]) + messages = [{"role": "user", "content": "Run echo hello"}] + + with patch("agents.s01_agent_loop.provider", provider), \ + patch("agents.s01_agent_loop.run_bash", mock_run_bash): + agent_loop(messages) + + assert len(provider.calls) == 2 + assert executed_commands == ["echo hello"] + # Messages: [user, assistant (tool_use), user (tool_result), assistant (final)] + assert len(messages) == 4 + + def test_provider_called_with_correct_model(self, text_response): + """Provider is called with MODEL from config.""" + from agents.s01_agent_loop import agent_loop + + provider = MockProvider([text_response]) + messages = [{"role": "user", "content": "Hi"}] + + with patch("agents.s01_agent_loop.provider", provider), \ + patch("agents.s01_agent_loop.MODEL", "test-model-123"): + agent_loop(messages) + + assert provider.calls[0]["model"] == "test-model-123" + + +class TestAgentLoopNegative: + def test_provider_error_propagates(self): + """If provider raises, the error propagates out of agent_loop.""" + from agents.s01_agent_loop import agent_loop + + provider = MagicMock() + provider.create_message.side_effect = RuntimeError("API down") + + messages = [{"role": "user", "content": "Hi"}] + + with patch("agents.s01_agent_loop.provider", provider): + with pytest.raises(RuntimeError, match="API down"): + agent_loop(messages) +``` + +--- + +### Step 4.6: Key Agent Stage Test — s04_subagent.py + +```python +"""Tests for s04_subagent.py — verifies subagent uses provider, parent context stays clean.""" + +class TestSubagentIsolation: + def test_subagent_fresh_context(self): + """Subagent starts with fresh messages, parent not modified during subagent run.""" + from agents.s04_subagent import run_subagent + + text_response = NormalizedResponse( + stop_reason="end_turn", + content=[NormalizedTextBlock(text="Subtask complete.")], + ) + provider = MockProvider([text_response]) + + with patch("agents.s04_subagent.provider", provider): + result = run_subagent("Do subtask X") + + assert "Subtask complete." in result + # Subagent called provider with fresh 1-message context + assert len(provider.calls[0]["messages"]) == 1 + + def test_subagent_tool_loop(self): + """Subagent runs tool loop internally before returning summary.""" + tool_response = NormalizedResponse( + stop_reason="tool_use", + content=[NormalizedToolUseBlock(id="t1", name="bash", input={"command": "ls"})], + ) + summary_response = NormalizedResponse( + stop_reason="end_turn", + content=[NormalizedTextBlock(text="Found 3 files.")], + ) + provider = MockProvider([tool_response, summary_response]) + + with patch("agents.s04_subagent.provider", provider), \ + patch("agents.s04_subagent.TOOL_HANDLERS", {"bash": lambda **kw: "file1.txt\nfile2.txt"}): + result = run_subagent("List files") + + assert "Found 3 files." in result + assert len(provider.calls) == 2 +``` + +--- + +### Step 4.7: Key Agent Stage Test — s06_context_compact.py + +```python +"""Tests for s06_context_compact — auto_compact uses provider for summarization.""" + +class TestAutoCompact: + def test_auto_compact_calls_provider(self, tmp_path): + """auto_compact() uses provider.create_message() for summarization.""" + from agents.s06_context_compact import auto_compact + + summary_response = NormalizedResponse( + stop_reason="end_turn", + content=[NormalizedTextBlock(text="Conversation summary: did X, Y, Z.")], + ) + provider = MockProvider([summary_response]) + + messages = [ + {"role": "user", "content": "Start"}, + {"role": "assistant", "content": [NormalizedTextBlock(text="Working...")]}, + ] + + with patch("agents.s06_context_compact.provider", provider), \ + patch("agents.s06_context_compact.TRANSCRIPT_DIR", tmp_path): + new_messages = auto_compact(messages) + + assert len(provider.calls) == 1 + # Result is compressed: 2 messages (summary + acknowledgment) + assert len(new_messages) == 2 + assert "summary" in new_messages[0]["content"].lower() or "did X" in new_messages[0]["content"] +``` + +--- + +## Phase 5: Documentation & CI Updates + +### Step 5.1: Update README.md + +Add an "LLM Provider Configuration" section between Quick Start and Learning Path: + +```markdown +## LLM Provider Configuration + +By default, the agent uses **Claude** (Anthropic). You can switch to **OpenRouter** +to access 300+ models from a single API key. + +### Use Claude (default) +```sh +# .env +ANTHROPIC_API_KEY=sk-ant-xxx +MODEL_ID=claude-sonnet-4-6 +LLM_PROVIDER=claude # or omit — default is claude +``` + +### Use OpenRouter +```sh +# .env +LLM_PROVIDER=openrouter +OPENROUTER_API_KEY=sk-or-xxx # from openrouter.ai/settings/keys +MODEL_ID=anthropic/claude-sonnet-4-6 # or any of 300+ models +``` + +OpenRouter model IDs (examples): +| Model | ID | +|-------|-----| +| Claude Sonnet 4.6 | `anthropic/claude-sonnet-4-6` | +| GPT-4o | `openai/gpt-4o` | +| Gemini 2.0 Flash | `google/gemini-2.0-flash` | +| DeepSeek Chat | `deepseek/deepseek-chat` | +| LLaMA 3.3 70B | `meta-llama/llama-3.3-70b-instruct` | +``` + +### Step 5.2: Update CI/CD + +The `.github/workflows/ci.yml` currently runs typecheck + build for the Next.js web app. +Add a Python testing step: + +```yaml +# In .github/workflows/ci.yml, add: +- name: Install Python dependencies + run: pip install -r requirements.txt pytest pytest-mock + +- name: Run Python provider tests + run: pytest tests/ -v --tb=short + env: + LLM_PROVIDER: claude # tests use mocks, no real API key needed + ANTHROPIC_API_KEY: test-key-for-ci +``` + +--- + +## Trade-offs & Justifications + +### Trade-off 1: OpenRouter SDK vs OpenAI SDK as Backend + +| | OpenRouter SDK (`openrouter` package) | OpenAI SDK (`openai`) with base_url | +|--|--|--| +| **Type safety** | ✅ Pydantic-validated, auto-generated | ❌ No OpenRouter-specific types | +| **Feature access** | ✅ Full (provider routing, ZDR, fallbacks) | ❌ Only standard OpenAI params | +| **Stability** | ⚠️ Beta, may break | ✅ Stable | +| **Code learning** | ✅ Shows OpenRouter SDK usage | ❌ Hides OpenRouter-specific API | +| **Dependency** | ➕ New `openrouter` package | ➕ `openai` package (often already installed) | + +**Decision: OpenRouter SDK** — provides the fullest OpenRouter feature access and is the official supported path. The beta caveat is mitigated by pinning the version in `requirements.txt`. + +### Trade-off 2: Shared Provider Instance vs Per-Thread Instance (s09-s11) + +| | Shared single provider | Per-thread provider instance | +|--|--|--| +| **Resource usage** | ✅ Lower (one HTTPX client) | ❌ Higher (N HTTPX clients) | +| **Thread safety** | ⚠️ Depends on SDK implementation | ✅ Guaranteed safe | +| **Simplicity** | ✅ Simpler code | ❌ Requires thread-local storage | + +**Decision: Shared provider with verification.** HTTPX (used by both Anthropic SDK and OpenRouter SDK internally) is designed to be thread-safe for synchronous calls. The shared `provider` object should be safe. However, add a comment in s09-s11 noting this assumption and the thread-local alternative. + +**Thread-local alternative if needed:** +```python +import threading +_thread_local = threading.local() + +def get_provider(): + if not hasattr(_thread_local, 'provider'): + _thread_local.provider = create_provider(load_config()) + return _thread_local.provider +``` + +### Trade-off 3: Normalized Response Objects vs Pure Dict Messages + +| | Normalized dataclass objects (chosen) | Convert everything to dicts | +|--|--|--| +| **Agent code change** | ✅ Minimal (`.type`, `.id`, `.name`, `.input` same) | ❌ Extensive (all 12 stages change `block.type` → `block["type"]`) | +| **Clarity** | ✅ Clear types, IDE autocomplete | ⚠️ Dict access, runtime KeyError risk | +| **Testability** | ✅ Easy to construct in tests | ✅ Easy to construct in tests | +| **Anthropic SDK compat** | ✅ Can convert back to dicts | ✅ Direct dict passing | + +**Decision: Normalized dataclass objects** — preserves the existing agent code attribute access patterns with minimal change. + +### Trade-off 4: Provider Injection vs Global Provider + +| | Module-level global `provider` (chosen for minimum change) | Dependency injection via function param | +|--|--|--| +| **Existing code change** | ✅ Minimal | ❌ All function signatures change | +| **Testability** | ✅ Easy to patch with `unittest.mock.patch` | ✅ Pass mock directly | +| **Production code quality** | ⚠️ Global state | ✅ Explicit dependencies | +| **Teaching clarity** | ✅ Simple, clear | ⚠️ More complex patterns | + +**Decision: Module-level global** for initial implementation (matches existing code style). Future improvement: add `agent_loop(messages, provider=None)` optional parameter for explicit injection. + +--- + +## Missing Information & Clarifying Questions + +### Missing Information + +1. **OpenRouter SDK version stability:** The SKILL.md notes the SDK is in beta. Need to determine the current stable version tag for pinning in `requirements.txt`. Run `pip install openrouter && pip show openrouter` to get current version. + +2. **OpenRouter tool calling support for all models:** Not all models on OpenRouter support function/tool calling. Need to confirm: Does the `openrouter` SDK raise an error or silently ignore tools for models that don't support it? This affects error handling in `create_message()`. + +3. **OpenRouter's system message handling across models:** Some models (e.g., older LLaMA variants) handle system messages differently. Need to verify `_convert_messages()` system prepend works correctly across target models. + +4. **Message format when no tool_calls present in OpenRouter response:** In the OpenAI spec, `message.tool_calls` is `null` when no tools are called. Verify `hasattr(message, "tool_calls")` vs `message.tool_calls is None` guard in `_normalize_response()`. + +### Clarifying Questions for Users + +1. **Target models via OpenRouter:** Which specific OpenRouter models should be prioritized for testing? Claude via OpenRouter? DeepSeek? Gemini? This affects what edge cases to handle in tool format conversion. + +2. **Backward compatibility requirement:** Should the refactored agent stages maintain backward compatibility with the existing `.env` format (where only `ANTHROPIC_API_KEY` and `MODEL_ID` are set, without `LLM_PROVIDER`)? **Current plan:** Yes, `LLM_PROVIDER` defaults to `"claude"` so existing `.env` files work unchanged. + +3. **s_full.py scope:** The `s_full.py` combines all mechanisms. Should it be refactored as part of this plan, or kept as a reference-only file? **Recommendation:** Yes, refactor it last as validation of the complete implementation. + +4. **Testing scope:** Should integration tests with real API calls be included (requiring actual API keys in CI)? **Recommendation:** Keep unit tests (mocked) in CI; provide optional integration tests that require `OPENROUTER_API_KEY` env var, skipped in CI unless set. + +5. **Python version constraint:** The OpenRouter SDK requires Python 3.9+. The existing `requirements.txt` has no Python version constraint. Add `python_requires >= 3.9` note in documentation. + +--- + +## Implementation Checklist + +``` +Phase 1: Provider Abstraction Layer + [ ] Create agents/providers/ directory + [ ] Create agents/providers/__init__.py + [ ] Create agents/providers/base.py (NormalizedResponse, LLMProvider Protocol) + [ ] Create agents/providers/claude.py (ClaudeProvider) + [ ] Create agents/providers/openrouter.py (OpenRouterProvider) + [ ] Create agents/providers/config.py (load_config, create_provider) + +Phase 2: Configuration + [ ] Update .env.example with OpenRouter section + [ ] Update requirements.txt with openrouter>=0.x.x + +Phase 3: Refactor Agent Stages (in order) + [ ] s01_agent_loop.py + [ ] s02_tool_use.py + [ ] s03_todo_write.py (verify todo reminder injection) + [ ] s04_subagent.py (2 call sites) + [ ] s05_skill_loading.py + [ ] s06_context_compact.py (2 call sites, auto_compact) + [ ] s07_task_system.py + [ ] s08_background_tasks.py + [ ] s09_agent_teams.py (thread safety verification) + [ ] s10_team_protocols.py + [ ] s11_autonomous_agents.py + [ ] s12_worktree_task_isolation.py + [ ] s_full.py (all mechanisms combined) + +Phase 4: Testing + [ ] Create tests/ directory structure + [ ] tests/providers/test_base.py + [ ] tests/providers/test_claude_provider.py + [ ] tests/providers/test_openrouter_provider.py + [ ] tests/providers/test_config.py + [ ] tests/agents/test_s01_agent_loop.py + [ ] tests/agents/test_s04_subagent.py + [ ] tests/agents/test_s06_context_compact.py + [ ] tests/agents/test_s09_agent_teams.py (thread tests) + [ ] Manual integration test: s01 with real OpenRouter API key + +Phase 5: Documentation + [ ] Update README.md with provider configuration section + [ ] Update .github/workflows/ci.yml with Python test step + [ ] Add CONTRIBUTING.md note about adding new providers +``` + +--- + +## Quick Start for Implementors + +```bash +# 1. Install dependencies +pip install -r requirements.txt # after adding openrouter>=0.x.x + +# 2. Test with Claude (no change from current behavior) +cp .env.example .env +# Edit .env: set ANTHROPIC_API_KEY and MODEL_ID +python agents/s01_agent_loop.py + +# 3. Test with OpenRouter +# Edit .env: +# LLM_PROVIDER=openrouter +# OPENROUTER_API_KEY=sk-or-xxx +# MODEL_ID=anthropic/claude-sonnet-4-6 +python agents/s01_agent_loop.py + +# 4. Run tests (no API key needed — uses mocks) +pytest tests/ -v +``` + +--- + +*"The model is the agent. Our job is to give it tools — and now, to give the tools a provider."* diff --git a/outputs/open-router-implementation-plan=gpt-5.3-codex.md b/outputs/open-router-implementation-plan=gpt-5.3-codex.md new file mode 100644 index 000000000..1a948520b --- /dev/null +++ b/outputs/open-router-implementation-plan=gpt-5.3-codex.md @@ -0,0 +1,558 @@ +# OpenRouter Integration Plan (Implementation-Ready) + +## 0) Workflow Progress Report + +### Step 1 — README analysis ✅ +- Reviewed architecture and loop invariants in `README.md`. +- Core invariant to preserve: **`messages -> model call -> if tool_use then execute tools -> append tool_result -> repeat`** (`README.md:53-80`). +- Repo is intentionally stage-progressive from s01 to s12 (`README.md:24-50`), so migration should be incremental. + +### Step 2 — Stage docs + code analysis in strict s01 → s12 order ✅ +- Read docs in strict order: + - `docs/en/s01-the-agent-loop.md` ... `docs/en/s12-worktree-task-isolation.md` +- Mapped each to Python stage implementation: + - `agents/s01_agent_loop.py` ... `agents/s12_worktree_task_isolation.py` +- Extracted Claude usage shape and exact call sites with line references (Appendix A). + +### Step 3 — Design for Claude + OpenRouter pluggable providers ✅ +- Proposed a provider abstraction with: + - Common interface + normalized response types + - Claude adapter + - OpenRouter adapter + - Provider factory + env switch + - Retry/error taxonomy + - Tool schema translation (Anthropic tools ↔ OpenRouter/OpenAI-style tools) + +### Step 4 — Deliverable generation ✅ +- This document is implementation-ready and saved to: + - `outputs/open-router-implementation-plan.md` + +--- + +## 1) Coverage Proof (All files analyzed, in order) + +### Project-level +1. `README.md` +2. `.env.example` +3. `requirements.txt` + +### Stage docs and mapped code (strict order) +1. `docs/en/s01-the-agent-loop.md` → `agents/s01_agent_loop.py` +2. `docs/en/s02-tool-use.md` → `agents/s02_tool_use.py` +3. `docs/en/s03-todo-write.md` → `agents/s03_todo_write.py` +4. `docs/en/s04-subagent.md` → `agents/s04_subagent.py` +5. `docs/en/s05-skill-loading.md` → `agents/s05_skill_loading.py` +6. `docs/en/s06-context-compact.md` → `agents/s06_context_compact.py` +7. `docs/en/s07-task-system.md` → `agents/s07_task_system.py` +8. `docs/en/s08-background-tasks.md` → `agents/s08_background_tasks.py` +9. `docs/en/s09-agent-teams.md` → `agents/s09_agent_teams.py` +10. `docs/en/s10-team-protocols.md` → `agents/s10_team_protocols.py` +11. `docs/en/s11-autonomous-agents.md` → `agents/s11_autonomous_agents.py` +12. `docs/en/s12-worktree-task-isolation.md` → `agents/s12_worktree_task_isolation.py` + +### Naming mismatch note +- No functional mismatch found. +- Only naming style differs: + - docs: hyphenated (`s03-todo-write.md`) + - code: underscored (`s03_todo_write.py`) + +--- + +## 2) Current Architecture and Claude Integration (Evidence-based) + +## 2.1 Architecture summary +- The course keeps one stable loop and layers mechanisms around it (`README.md:53-80`): + - tool expansion (s02), planning (s03), context isolation (s04), knowledge loading (s05), compaction (s06), persistent task graph (s07), background execution (s08), teams/protocols/autonomy (s09-s11), worktree isolation (s12). + +## 2.2 Claude integration pattern (cross-stage) +Across s01-s12 code, the same provider pattern appears: +1. `from anthropic import Anthropic` (e.g., `agents/s01_agent_loop.py:29`) +2. `client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL"))` (e.g., `agents/s01_agent_loop.py:37`) +3. `response = client.messages.create(...)` (e.g., `agents/s01_agent_loop.py:69-72`) +4. `if response.stop_reason != "tool_use": return` (e.g., `agents/s01_agent_loop.py:76-77`) +5. Iterate `response.content` blocks with `if block.type == "tool_use"` (e.g., `agents/s01_agent_loop.py:80-81`) +6. Append tool results as: + - `{"type":"tool_result","tool_use_id":block.id,"content":...}` (e.g., `agents/s01_agent_loop.py:85-87`) + +This pattern is repeated in all stages (detailed line citations in Appendix A). + +## 2.3 Why OpenRouter needs an adapter +- Stage logic is coupled to Anthropic response structure (`block.type`, `block.id`, `block.name`, `block.input`, text blocks with `.text`). +- Therefore safest design is: + - **Normalize provider responses into Anthropic-like internal objects** + - Keep stage loops unchanged except replacing direct SDK call with provider abstraction. + +--- + +## 3) Per-Stage Architecture and Claude Usage Mapping + +| Stage | Architecture (from doc + code) | Claude usage evidence | +|---|---|---| +| s01 | Minimal agent loop with one `bash` tool; stop on non-tool (`docs/en/s01-the-agent-loop.md:13-25`, `:66-93`) | import/client/call/stop/tool loop in `agents/s01_agent_loop.py:29`, `:37`, `:69-72`, `:76-77`, `:80-87` | +| s02 | Dispatch map pattern; loop unchanged; adds read/write/edit tools (`docs/en/s02-tool-use.md:15-28`, `:49-76`) | `agents/s02_tool_use.py:25`, `:34`, `:115-118`, `:120-121`, `:123-129` | +| s03 | Todo manager + nag reminder; same loop contract (`docs/en/s03-todo-write.md:13-31`, `:53-74`) | `agents/s03_todo_write.py:33`, `:42`, `:167-170`, `:172-173`, `:176-190` | +| s04 | Parent/child context isolation via subagent with fresh messages (`docs/en/s04-subagent.md:13-25`, `:43-72`) | child loop: `agents/s04_subagent.py:118-131`; parent loop: `:145-164`; import/client: `:29`, `:38` | +| s05 | Two-layer skill loading via `load_skill` tool result injection (`docs/en/s05-skill-loading.md:13-33`, `:72-85`) | `agents/s05_skill_loading.py:42`, `:51`, `:189-192`, `:194-206` | +| s06 | 3-layer compaction; includes separate summarize call (`docs/en/s06-context-compact.md:15-41`, `:63-100`) | summarize call: `agents/s06_context_compact.py:107-114`; main loop call: `:202-205`; stop/tool: `:207-224` | +| s07 | Persistent task graph (`blockedBy`, `blocks`) with task CRUD tools (`docs/en/s07-task-system.md:15-46`, `:49-103`) | `agents/s07_task_system.py:29`, `:38`, `:211-214`, `:216-217`, `:219-228` | +| s08 | Background manager + notification injection before LLM call (`docs/en/s08-background-tasks.md:13-29`, `:70-87`) | `agents/s08_background_tasks.py:33`, `:42`, `:197-200`, `:202-203`, `:205-214` | +| s09 | Persistent teammates + JSONL inboxes + threaded teammate loops (`docs/en/s09-agent-teams.md:15-34`, `:64-101`) | teammate call: `agents/s09_agent_teams.py:177-183`; lead call: `:356-362`; stop/tool loops: `:187-199`, `:364-380` | +| s10 | Request/response protocols (shutdown, plan approval) over same message bus (`docs/en/s10-team-protocols.md:19-39`, `:43-82`) | teammate call: `agents/s10_team_protocols.py:191-197`; lead call: `:437-443`; tool loops: `:201-215`, `:445-461` | +| s11 | Autonomous work/idle loop + auto-claim + identity re-injection (`docs/en/s11-autonomous-agents.md:18-44`, `:48-116`) | teammate call: `agents/s11_autonomous_agents.py:226-232`; lead call: `:521-527`; tool loops: `:237-255`, `:529-545` | +| s12 | Task/worktree binding + lifecycle events + isolated execution dirs (`docs/en/s12-worktree-task-isolation.md:15-33`, `:44-97`) | `agents/s12_worktree_task_isolation.py:39`, `:48`, `:730-736`, `:738-739`, `:743-757` | + +--- + +## 4) Implementation-Ready Design for Pluggable LLM Providers + +## 4.1 Goals +1. Support `claude` and `openrouter` under one internal contract. +2. Preserve current stage behavior and tool loop semantics. +3. Keep migration low-risk via staged refactor. + +## 4.2 Proposed modules/classes + +```text +agents/ + llm/ + __init__.py + types.py + provider.py + factory.py + errors.py + retry.py + tool_schema.py + providers/ + anthropic_provider.py + openrouter_provider.py +``` + +### `agents/llm/types.py` +- `NormalizedBlock` + - `type: Literal["text","tool_use"]` + - `id, name, input, text` +- `NormalizedResponse` + - `content: list[NormalizedBlock]` + - `stop_reason: str | None` + - `raw: Any` + +### `agents/llm/provider.py` +- Protocol: + - `create_message(model, system, messages, tools, max_tokens, temperature=None, stream=False) -> NormalizedResponse` + +### `agents/llm/providers/anthropic_provider.py` +- Wrap current anthropic SDK call. +- Convert SDK content blocks to normalized blocks. +- Preserve current stop reason semantics. + +### `agents/llm/providers/openrouter_provider.py` +- Use OpenRouter endpoint/client. +- Convert outgoing tools using `tool_schema.py`. +- Map incoming tool calls + text to normalized blocks. +- Map finish reasons: + - tool calls present => `stop_reason="tool_use"` + - otherwise `stop_reason="end_turn"` (or mapped finish reason). + +### `agents/llm/factory.py` +- `create_provider_from_env()` returns adapter by `LLM_PROVIDER`. + +### `agents/llm/retry.py` +- Exponential backoff with jitter for transient errors only. + +### `agents/llm/errors.py` +- `LLMProviderError`, `LLMAuthenticationError`, `LLMRateLimitError`, `LLMTimeoutError`, `LLMValidationError` + +### `agents/llm/tool_schema.py` +- `anthropic_tool_to_openrouter_tool(tool: dict) -> dict` +- argument parsing/validation helpers + +--- + +## 4.3 Config switch and compatibility + +### Proposed env vars (add/update `.env.example`) +- `LLM_PROVIDER=claude` (`claude` default, `openrouter` optional) +- `MODEL_ID=...` (keep existing) +- `ANTHROPIC_API_KEY=...` (existing) +- `ANTHROPIC_BASE_URL=...` (existing, keep for compatibility) +- `OPENROUTER_API_KEY=...` +- `OPENROUTER_BASE_URL=https://openrouter.ai/api/v1` +- `OPENROUTER_HTTP_REFERER=...` (optional) +- `OPENROUTER_X_TITLE=...` (optional) +- `LLM_MAX_RETRIES=3` +- `LLM_RETRY_BASE_DELAY_MS=500` +- `LLM_TIMEOUT_SECONDS=120` + +### Backward compatibility policy +1. If `LLM_PROVIDER` is unset, default to Claude behavior. +2. Keep `ANTHROPIC_BASE_URL` behavior unchanged for existing users (`.env.example:8-10`, `:12-25`). +3. Keep `MODEL_ID` env key unchanged to avoid stage script breakage. + +--- + +## 4.4 Factory wiring pattern + +```python +# agents/llm/factory.py +def create_provider_from_env() -> LLMProvider: + provider = os.getenv("LLM_PROVIDER", "claude").lower() + if provider == "claude": + return AnthropicProvider( + api_key=os.getenv("ANTHROPIC_API_KEY"), + base_url=os.getenv("ANTHROPIC_BASE_URL"), + ) + if provider == "openrouter": + return OpenRouterProvider( + api_key=os.getenv("OPENROUTER_API_KEY"), + base_url=os.getenv("OPENROUTER_BASE_URL", "https://openrouter.ai/api/v1"), + http_referer=os.getenv("OPENROUTER_HTTP_REFERER"), + x_title=os.getenv("OPENROUTER_X_TITLE"), + ) + raise ValueError(f"Unsupported LLM_PROVIDER={provider}") +``` + +--- + +## 4.5 Retry/error handling strategy + +### Retryable +- network timeout / connection reset +- HTTP 429 +- HTTP 5xx + +### Non-retryable +- 400 invalid schema/request +- 401/403 auth +- model-not-found + +### Behavior +- backoff: `base_delay * 2^attempt + jitter` +- fail with typed exceptions from `errors.py` +- log provider/model/attempt/latency/stop_reason (no secrets) + +--- + +## 4.6 Streaming compatibility + +- Current stages are synchronous request/response (non-streaming). +- Implement `stream` argument in provider interface now but keep default `False`. +- Phase 1 acceptance: streaming not required for parity. +- Later: add stream event normalization to same `NormalizedBlock` shape. + +--- + +## 4.7 Tool-use compatibility design + +Because stages rely on Anthropic-style tool blocks: +- Keep Anthropic-style internal shape as canonical. +- For OpenRouter: + 1. Convert tool schemas to OpenRouter/OpenAI function format. + 2. Parse tool calls (JSON args) back into normalized `tool_use` blocks. + 3. Preserve `tool_use_id` correlation in normalized block `id`. + +Edge behavior: +- Invalid JSON args => return safe tool-result error string (do not crash loop). +- Missing tool name/id => raise `LLMValidationError`. + +--- + +## 4.8 OpenRouter SDK-style API/config guidance (concrete) + +To align with common OpenRouter Python usage patterns (OpenAI-compatible client style), implement `OpenRouterProvider` with: + +1. **Client initialization** + - `base_url="https://openrouter.ai/api/v1"` (configurable via `OPENROUTER_BASE_URL`) + - API key from `OPENROUTER_API_KEY` + - Optional headers: + - `HTTP-Referer` from `OPENROUTER_HTTP_REFERER` + - `X-Title` from `OPENROUTER_X_TITLE` + +2. **Model naming** + - Keep model configurable through existing `MODEL_ID` + - Accept OpenRouter-style model IDs (e.g., `anthropic/claude-3.7-sonnet`, `openai/gpt-4.1`) + +3. **Chat completion/tool-call shape** + - Send tools using OpenAI/OpenRouter function tool schema: + - `{"type":"function","function":{"name":..., "description":..., "parameters":...}}` + - Parse returned `tool_calls[*].id`, `tool_calls[*].function.name`, `tool_calls[*].function.arguments` + - Convert to normalized internal `tool_use` blocks + +4. **Dependency choices** + - Preferred minimal path: rely on OpenAI-compatible client already in ecosystem (`openai` package) for OpenRouter calls + - Alternative: dedicated OpenRouter SDK if team prefers stricter vendor coupling + - Add explicit dependency decision to `requirements.txt` and document rationale + +This keeps provider code aligned with real OpenRouter API conventions while preserving Anthropic-like internal stage contracts. + +--- + +## 5) Stage-by-Stage Refactor Plan (s01..s12) + +> Rule: keep stage business logic unchanged; only replace direct SDK calls with provider calls. + +### Common migration action for every stage +1. Replace: + - `from anthropic import Anthropic` + - `client = Anthropic(...)` +2. Add: + - `from agents.llm.factory import create_provider_from_env` + - `provider = create_provider_from_env()` +3. Replace `client.messages.create(...)` with `provider.create_message(...)` +4. Continue using existing loop checks (`stop_reason`, `tool_use`, `tool_result`) against normalized response. + +### Stage-specific notes +- **s04**: migrate both parent and subagent loops. +- **s06**: migrate both main loop and `auto_compact()` summarization call. +- **s09/s10/s11**: decide provider lifecycle in threads: + - safest: create provider per thread (avoid hidden SDK thread-safety issues). +- **s12**: no changes to TaskManager/WorktreeManager/EventBus; only model-call path. + +--- + +## 5.1 Concrete Implementation Steps (with expected outcomes + test plan) + +| Step | Scope | Expected outcome | Testing plan | +|---|---|---|---| +| 1 | Add provider abstraction modules (`agents/llm/*`) | New common interface, normalized response types, provider factory compile/import cleanly | Unit: import tests + type-shape tests in `tests/llm/test_types.py` | +| 2 | Implement `AnthropicProvider` adapter | Existing Claude behavior preserved via normalized output | Unit: golden mock of Anthropic response -> normalized blocks equality | +| 3 | Implement `OpenRouterProvider` adapter + tool schema conversion | OpenRouter responses map to same `tool_use`/`text` semantics | Unit: mocked OpenRouter tool-call and plain text responses; invalid tool-call negative tests | +| 4 | Add retry/error taxonomy (`errors.py`, `retry.py`) | Transient failures retried consistently; typed exceptions for terminal errors | Unit: 429/5xx retry success, 401 no-retry, timeout exception mapping | +| 5 | Add config/env wiring (`.env.example`, docs) | `LLM_PROVIDER` switch works; backward-compatible defaults maintained | Unit: factory behavior with env permutations; missing key validation tests | +| 6 | Migrate s01 | s01 runs with both providers without loop logic changes | Stage tests: Claude positive, OpenRouter positive, provider failure negative | +| 7 | Migrate s02-s03 | Tool dispatch + todo flows run identically cross-provider | Stage tests for each: positive Claude/OpenRouter + malformed tool args negative | +| 8 | Migrate s04 | Parent/subagent both use same provider contract | Stage tests: child/parent interaction for both providers + child provider failure isolation | +| 9 | Migrate s05-s06 | Skill loading and compaction summary call are provider-agnostic | Stage tests: skill `tool_result` injection parity + s06 summarize-call cross-provider | +| 10 | Migrate s07-s08 | Task system/background notifications unaffected by provider swap | Stage tests: task graph mutation + background completion notice injection cross-provider | +| 11 | Migrate s09-s11 | Team protocols/autonomy stable under threaded execution | Stage tests: threaded teammate loops, protocol request-response, idle/auto-claim cross-provider | +| 12 | Migrate s12 | Worktree isolation workflow remains unchanged except LLM adapter call path | Stage tests: task/worktree lifecycle + tool-use roundtrip with mocked providers | +| 13 | Regression + compatibility sweep | No behavior regressions when `LLM_PROVIDER` unset (`claude` default) | Integration smoke: run s01/s06/s12 demo flows in both provider modes | +| 14 | CI/docs hardening | Actionable docs + reliable test automation | CI: matrix on `LLM_PROVIDER` with mocked network tests; optional gated live test job | + +--- + +## 6) Unit Testing Plan (Positive, Negative, Cross-Provider) + +## 6.1 Test setup +- Add `pytest` (+ `pytest-mock`) to test dependencies. +- Keep unit tests mostly mocked for deterministic CI. + +## 6.2 Provider-layer tests (`tests/llm/`) +- `test_factory_default_returns_anthropic_provider` +- `test_factory_openrouter_returns_openrouter_provider` +- `test_factory_invalid_provider_raises_value_error` +- `test_anthropic_provider_normalizes_tool_use_block` +- `test_openrouter_provider_normalizes_tool_call_to_tool_use` +- `test_openrouter_provider_maps_finish_reason_to_stop_reason` +- `test_retry_retries_on_429_then_succeeds` +- `test_retry_does_not_retry_on_401` +- `test_timeout_raises_llm_timeout_error` +- `test_tool_schema_conversion_anthropic_to_openrouter_success` +- `test_tool_schema_conversion_invalid_schema_raises_validation_error` + +## 6.3 Per-stage tests (`tests/agents/`) + +For each stage `s01..s12`, create **three tests minimum**: +1. Claude positive path +2. OpenRouter positive path +3. Negative/error path + +Suggested naming pattern (example s01): +- `test_s01_tool_loop_claude_provider` +- `test_s01_tool_loop_openrouter_provider` +- `test_s01_provider_error_is_handled` + +Repeat same naming template for `s02`...`s12`. + +### Special mandatory tests +- `test_s04_subagent_parent_and_child_use_same_provider_contract` +- `test_s06_auto_compact_summary_call_works_cross_provider` +- `test_s09_threaded_teammate_loop_openrouter` +- `test_s10_protocol_request_id_roundtrip_openrouter` +- `test_s11_idle_poll_and_auto_claim_cross_provider` +- `test_s12_worktree_task_flow_openrouter_provider_mock` + +## 6.4 Cross-provider normalization fixtures +- `tests/fixtures/anthropic_tool_use.json` +- `tests/fixtures/openrouter_tool_call.json` + +Test: +- `test_cross_provider_fixture_normalization_equivalence` + +--- + +## 6.5 Per-stage detailed test matrix (s01-s12) + +- **s01_agent_loop** + - Positive-Claude: single tool call then final text. + - Positive-OpenRouter: equivalent tool call normalized to `tool_use`. + - Negative: invalid provider config or LLM timeout surfaces typed error. +- **s02_tool_use** + - Positive-Claude: dispatch map calls expected tool and appends `tool_result`. + - Positive-OpenRouter: same dispatch behavior via normalized tool call. + - Negative: unknown tool name returns safe error content (loop continues). +- **s03_todo_write** + - Positive-Claude: todo CRUD + nag reminder message behavior. + - Positive-OpenRouter: same todo update sequence. + - Negative: malformed todo payload/tool args handled without crash. +- **s04_subagent** + - Positive-Claude: parent delegates, child executes with isolated context. + - Positive-OpenRouter: same delegation/return behavior. + - Negative: child provider failure returns error to parent without corrupting parent loop. +- **s05_skill_loading** + - Positive-Claude: `load_skill` injects skill content into conversation. + - Positive-OpenRouter: identical injection and follow-up behavior. + - Negative: missing skill path returns recoverable tool-result error. +- **s06_context_compact** + - Positive-Claude: compaction triggers summary call and resumes task loop. + - Positive-OpenRouter: summary + main calls both work through provider abstraction. + - Negative: summarize call failure triggers fallback/error path without data loss. +- **s07_task_system** + - Positive-Claude: `blockedBy/blocks` updates and task transitions. + - Positive-OpenRouter: same graph updates. + - Negative: invalid task reference/tool input yields validation error string. +- **s08_background_tasks** + - Positive-Claude: background task completion notification injected before model call. + - Positive-OpenRouter: same notification semantics. + - Negative: background tool exception captured and reported safely. +- **s09_agent_teams** + - Positive-Claude: lead + teammate loops exchange messages correctly. + - Positive-OpenRouter: same inbox/outbox behavior in threaded mode. + - Negative: teammate LLM error isolated; other teammates continue. +- **s10_team_protocols** + - Positive-Claude: shutdown/approval protocol request-response with request IDs. + - Positive-OpenRouter: same protocol flow and correlation IDs. + - Negative: malformed protocol message rejected and logged. +- **s11_autonomous_agents** + - Positive-Claude: idle poll -> claim work -> continue loop. + - Positive-OpenRouter: equivalent autonomous behavior. + - Negative: claim race/conflict handled deterministically without deadlock. +- **s12_worktree_task_isolation** + - Positive-Claude: task-worktree binding lifecycle and isolated execution. + - Positive-OpenRouter: same lifecycle invariants. + - Negative: worktree/provisioning failure produces recoverable task error state. + +--- + +## 7) Trade-offs and Decisions + +1. **Adapter normalization vs stage-level branching** + - Decision: normalization adapter. + - Why: avoids duplicating provider-specific logic in 12 stage files. + +2. **Big-bang migration vs staged rollout** + - Decision: staged rollout. + - Why: stage-based repo architecture naturally supports incremental validation. + +3. **OpenRouter via Anthropic-compatible mode vs explicit adapter** + - Decision: explicit OpenRouter adapter (recommended), while keeping Anthropic base URL compatibility. + - Why: clearer tool-call handling + better testability and long-term maintainability. + +4. **Streaming now vs later** + - Decision: interface now, runtime behavior later. + - Why: current loops are sync; parity can ship without stream rewrite. + +--- + +## 8) Staged Rollout Plan + +### Phase 1 — Provider infrastructure +- Add `agents/llm/*` modules and provider tests. +- No stage file changes yet. + +### Phase 2 — Early stage migration +- Migrate s01-s03. +- Validate parity quickly on simplest loops. + +### Phase 3 — Mid-stage migration +- Migrate s04-s08. +- Validate subagent + compaction + background behaviors. + +### Phase 4 — Advanced stage migration +- Migrate s09-s12. +- Focus on thread behavior and long-lived flows. + +### Phase 5 — Docs and CI +- Update README/.env docs. +- Add Python test workflow if missing. + +--- + +## 9) Acceptance Criteria + +1. `LLM_PROVIDER=claude` reproduces existing behavior across s01-s12. +2. `LLM_PROVIDER=openrouter` runs all stages without changing stage business logic. +3. Tool-use semantics preserved: + - `stop_reason` handling equivalent + - `tool_use_id` correlation preserved + - unknown/malformed tool calls handled gracefully +4. Retry/error behavior deterministic and tested. +5. Threaded stages (s09-s11) pass cross-provider tests. +6. s06 summarization and s12 orchestration pass cross-provider tests. + +--- + +## 10) Missing Critical Information + Clarifying Questions + +### Missing info +1. Preferred OpenRouter integration mode: + - Anthropic-compatible path vs explicit OpenRouter API/tool-calls mode? +2. Required OpenRouter model allowlist (single default vs configurable list)? +3. Is real streaming required in this milestone or interface-only? +4. Dependency policy: + - okay to add OpenRouter SDK/OpenAI-compatible client, or keep minimal deps? +5. CI expectation: + - should Python tests be added to GitHub Actions now? +6. OpenRouter SDK skill reference availability: + - I did not find an in-repo `skills/openrouter-python-sdk` directory in this repository snapshot. + - How to obtain: provide the intended skill doc path/content, or confirm the preferred canonical source (OpenRouter docs + openrouter/openai Python client examples) to lock request/response mappings. + +### Clarifying questions +1. Should `agents/s_full.py` be included in migration scope now, or only s01-s12? +2. For s09-s11, do you prefer one provider instance per thread (safer) or shared singleton? +3. Is semantic parity sufficient, or do you require exact text parity between providers? +4. Do you want Anthropic-compatible fallback retained indefinitely or marked deprecated? + +--- + +## Appendix A — Claude Usage Line References (Code) + +- `agents/s01_agent_loop.py`: `29`, `37`, `69-72`, `76-77`, `80-87` +- `agents/s02_tool_use.py`: `25`, `34`, `115-118`, `120-121`, `123-129` +- `agents/s03_todo_write.py`: `33`, `42`, `167-170`, `172-173`, `176-190` +- `agents/s04_subagent.py`: + - child: `118-131` + - parent: `145-164` + - import/client: `29`, `38` +- `agents/s05_skill_loading.py`: `42`, `51`, `189-192`, `194-195`, `197-206` +- `agents/s06_context_compact.py`: + - summarize call: `107-114` + - main call: `202-205` + - stop/tool: `207-224` +- `agents/s07_task_system.py`: `29`, `38`, `211-214`, `216-217`, `219-228` +- `agents/s08_background_tasks.py`: `33`, `42`, `197-200`, `202-203`, `205-214` +- `agents/s09_agent_teams.py`: + - teammate call/loop: `177-199` + - lead call/loop: `356-380` +- `agents/s10_team_protocols.py`: + - teammate call/loop: `191-215` + - lead call/loop: `437-461` +- `agents/s11_autonomous_agents.py`: + - teammate call/loop: `226-255` + - lead call/loop: `521-545` +- `agents/s12_worktree_task_isolation.py`: `39`, `48`, `730-736`, `738-739`, `743-757` + +## Appendix B — Documentation Evidence References + +- `README.md:24-50`, `53-80`, `150-160` +- `docs/en/s01-the-agent-loop.md:13-25`, `34-49`, `53-64`, `66-93` +- `docs/en/s02-tool-use.md:15-28`, `49-59`, `61-74` +- `docs/en/s03-todo-write.md:13-31`, `35-51`, `53-74` +- `docs/en/s04-subagent.md:13-25`, `29-41`, `43-72` +- `docs/en/s05-skill-loading.md:13-33`, `46-70`, `72-85` +- `docs/en/s06-context-compact.md:15-41`, `45-61`, `63-84`, `90-100` +- `docs/en/s07-task-system.md:15-46`, `49-76`, `91-103` +- `docs/en/s08-background-tasks.md:13-29`, `33-41`, `43-53`, `55-68`, `70-87` +- `docs/en/s09-agent-teams.md:15-34`, `38-48`, `50-62`, `64-101` +- `docs/en/s10-team-protocols.md:19-39`, `43-54`, `56-67`, `68-82` +- `docs/en/s11-autonomous-agents.md:18-44`, `48-70`, `72-91`, `93-116` +- `docs/en/s12-worktree-task-isolation.md:15-33`, `35-62`, `63-81`, `83-97` From cb051e62f9e92a70e64cc5deb40f453ee2a964ee Mon Sep 17 00:00:00 2001 From: Richard Zhang Date: Sun, 1 Mar 2026 23:58:17 -0500 Subject: [PATCH 2/5] 2nd Commit: open-router-plan.agent.md enhancement and plan agent output by clouad opus 4.6 model --- .github/agents/open-router-plan.agent.md | 6 +- ...ter-implementation-plan-claude-opus-4.6.md | 1092 +++++++++++++++++ ...uter-implementation-plan-gpt-5.3-codex.md} | 0 3 files changed, 1096 insertions(+), 2 deletions(-) create mode 100644 outputs/open-router-implementation-plan-claude-opus-4.6.md rename outputs/{open-router-implementation-plan=gpt-5.3-codex.md => open-router-implementation-plan-gpt-5.3-codex.md} (100%) diff --git a/.github/agents/open-router-plan.agent.md b/.github/agents/open-router-plan.agent.md index 950275193..feb36036e 100644 --- a/.github/agents/open-router-plan.agent.md +++ b/.github/agents/open-router-plan.agent.md @@ -12,7 +12,7 @@ You can leverage openrouter-python-sdk skill as references for opernrouter APIs ## Workflow -### Step 1: Analyze the ./REAME.md to build up an overall understanding of the learn-claude-code project, its architecture, project structure, and the integratoin with claude models. Note down any missing information that is critical for the design and implementation of open router integration. +### Step 1: Analyze the ./REAME.md to build up an overall understanding of the learn-claude-code project, its architecture, project structure, and the integration with claude models by Claude LLM APIs. Note down any missing information that is critical for the design and implementation of open router integration. ### Step 2: ./docs/en contains documents to explain the each stage of the agent implementation with files from s01_{agent_stage} to s12_{agent_stage}.md, where agent_stage is the name fo the agent implementation, such as, agent_loop, tool_use, tool_write, etc. @@ -22,13 +22,15 @@ You can leverage openrouter-python-sdk skill as references for opernrouter APIs ### Step 3: with the deep understanding of each stage of the agent implementation and how claude models are integrated into the system, design the best implementation plan along with unit testing for integrating open router into each of the stage of the agent implementation. Including configuration changes needed. -### Step 4: Write the implementation plan in a markdown file in ./outputs/`open-router-implementation-plan.md` with clear steps, expected outcome, and testing plan for each step. The implementation plan should cover all the stages of the agent implementation and how open router will be integrated into each stage. +### Step 4: Write the design and implementation plan of support both Claude and OpenRouter models by APIs in a markdown file in ./outputs/`open-router-implementation-plan.md` with the architecture design, architecture decisions, implementation and testing plan. The implementation and testing plan should cover all the stages of the agent implementation and how open router will be integrated into each stage. ## Requirements for the implementation plan - The implementation plan should refactor each stage of the agent implementation to support both claude and open router as the LLMs provider, with a configuration switch to choose between them. - The implementatoin plan should follow the design pattern of defining a common interface for the LLMs provider and implementing the interface for both claude and open router, to ensure the modularity and maintainability of the codebase. - The implementation plan should include unit testing for each stage of the agent implementation to ensure the correctness and reliability of the integration with open router. The testing plan should cover both positive and negative test cases. +- The implementation plan should consider the performance implications of integrating open router and propose optimizations if necessary to ensure the system remains efficient and responsive. +- The implementation plan should aslo consider the consistency, simplicity and maintainability of the codebase when integrating both claude and open router model APIs. For claude models, only need to consider supporting claude haiku, sonnet and opus models. ## Rules for workflow execution diff --git a/outputs/open-router-implementation-plan-claude-opus-4.6.md b/outputs/open-router-implementation-plan-claude-opus-4.6.md new file mode 100644 index 000000000..005b84596 --- /dev/null +++ b/outputs/open-router-implementation-plan-claude-opus-4.6.md @@ -0,0 +1,1092 @@ +# OpenRouter Integration — Design & Implementation Plan + +## Executive Summary + +This document describes the design and implementation plan for supporting **both Anthropic (Claude)** and **OpenRouter** as LLM providers in the learn-claude-code agent system. The plan introduces a **Provider Abstraction Layer** that normalizes the two different API protocols behind a common interface, enabling every agent stage (s01–s12 + s_full) to work with either backend via a single configuration switch. + +--- + +## 1. Current Architecture Analysis + +### 1.1 How Claude Is Integrated Today + +Every agent stage follows the same pattern: + +```python +from anthropic import Anthropic + +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) +MODEL = os.environ["MODEL_ID"] + +response = client.messages.create( + model=MODEL, system=SYSTEM, messages=messages, + tools=TOOLS, max_tokens=8000, +) +``` + +**Key API surface used across all 12 stages:** + +| Concern | Anthropic SDK | +|---------|--------------| +| Client init | `Anthropic(base_url=...)` | +| API call | `client.messages.create(model, system, messages, tools, max_tokens)` | +| System prompt | Separate `system=` parameter (string) | +| Tool schema | `{"name", "description", "input_schema": {...}}` | +| Stop signal | `response.stop_reason == "tool_use"` | +| Content blocks | `response.content` → list of `TextBlock` / `ToolUseBlock` objects | +| Tool use fields | `block.type == "tool_use"`, `block.name`, `block.input` (dict), `block.id` | +| Text fields | `block.type == "text"`, `block.text` | +| Tool result msg | `{"type": "tool_result", "tool_use_id": block.id, "content": "..."}` | +| Assistant msg | `{"role": "assistant", "content": response.content}` (raw block list) | + +### 1.2 OpenRouter API Protocol (OpenAI-Compatible) + +```python +from openrouter import OpenRouter + +client = OpenRouter(api_key=os.getenv("OPENROUTER_API_KEY")) +response = client.chat.send( + model="anthropic/claude-4.5-sonnet", + messages=[...], tools=[...], max_tokens=8000, +) +``` + +| Concern | OpenRouter SDK | +|---------|---------------| +| Client init | `OpenRouter(api_key=...)` | +| API call | `client.chat.send(model, messages, tools, max_tokens)` | +| System prompt | Included as `{"role": "system", "content": "..."}` in messages list | +| Tool schema | `{"type": "function", "function": {"name", "description", "parameters": {...}}}` | +| Stop signal | `response.choices[0].finish_reason == "tool_calls"` | +| Content | `response.choices[0].message.content` (string or null) | +| Tool calls | `response.choices[0].message.tool_calls` → list of `{id, type, function: {name, arguments}}` | +| Tool use fields | `tc.function.name`, `json.loads(tc.function.arguments)`, `tc.id` | +| Tool result msg | `{"role": "tool", "tool_call_id": tc.id, "content": "..."}` | +| Assistant msg | `{"role": "assistant", "content": "...", "tool_calls": [...]}` | + +### 1.3 Key Differences Summary + +| Dimension | Anthropic | OpenRouter | +|-----------|-----------|------------| +| System prompt delivery | Separate `system=` param | System message in `messages` array | +| Tool definition wrapper | Flat `{name, description, input_schema}` | Nested `{type:"function", function:{name, description, parameters}}` | +| Tool input key | `input_schema` | `parameters` | +| Stop reason value | `"tool_use"` | `"tool_calls"` | +| Response shape | `response.content` (block list) | `response.choices[0].message` | +| Tool use in response | Block objects in `content` | Separate `tool_calls` list | +| Tool input format | `block.input` (dict) | `tc.function.arguments` (JSON string) | +| Tool result message | `{type:"tool_result", tool_use_id}` in user content list | `{role:"tool", tool_call_id}` as separate message | + +--- + +## 2. Architecture Design + +### 2.1 Design Goals + +1. **Minimal loop change**: The `agent_loop()` function in each stage should need only ~3 lines changed (swap `client.messages.create(...)` for `provider.create_message(...)`). +2. **Provider-agnostic normalized types**: All agent code works with the same response objects regardless of backend. +3. **Easy configuration**: A single `LLM_PROVIDER` env var switches between backends. +4. **Backward-compatible**: Existing Anthropic-only usage continues to work with zero config change. +5. **Testable**: Each provider adapter is independently unit-testable with mocked API responses. + +### 2.2 Architecture Diagram + +``` + .env + ├── LLM_PROVIDER=anthropic|openrouter + ├── ANTHROPIC_API_KEY=... + ├── OPENROUTER_API_KEY=... + └── MODEL_ID=... + │ + ▼ + ┌───────────────────────┐ + │ create_provider() │ Factory function + │ reads LLM_PROVIDER │ + └─────────┬─────────────┘ + │ + ┌──────────────┴──────────────┐ + │ │ + ┌───────────▼───────────┐ ┌────────────▼────────────┐ + │ AnthropicProvider │ │ OpenRouterProvider │ + │ │ │ │ + │ - anthropic.Anthropic│ │ - openrouter.OpenRouter │ + │ - pass-through tools │ │ - convert tools format │ + │ - wrap response │ │ - convert messages │ + │ │ │ - wrap response │ + └───────────┬───────────┘ └────────────┬────────────┘ + │ │ + └──────────────┬──────────────┘ + │ + ┌─────────▼─────────┐ + │ LLMResponse │ Normalized response + │ ├─ stop_reason │ "tool_use" | "end_turn" | ... + │ ├─ content │ List[ContentBlock] + │ └─ raw │ Original provider response + └─────────┬─────────┘ + │ + ┌─────────▼─────────┐ + │ agent_loop() │ Unchanged logic + │ while True: │ + │ resp = provider│.create_message(...) + │ if stop... │ + │ exec tools │ + └───────────────────┘ +``` + +### 2.3 Module Structure + +``` +agents/ +├── llm_provider.py # NEW: Provider abstraction + factory +├── s01_agent_loop.py # MODIFIED: use provider +├── s02_tool_use.py # MODIFIED: use provider +├── ... +├── s12_worktree_task_isolation.py # MODIFIED: use provider +├── s_full.py # MODIFIED: use provider +tests/ +├── __init__.py +├── test_llm_provider.py # NEW: Unit tests for provider layer +├── test_s01_agent_loop.py # NEW: Integration tests per stage +├── ... +``` + +### 2.4 Decision Records + +| Decision | Rationale | Alternatives Considered | +|----------|-----------|------------------------| +| **Single `llm_provider.py` module** | Keeps the "one file per stage" learning design intact; all provider logic in one place | Separate package (`providers/`) — over-engineered for a teaching repo | +| **Dataclass-based normalized response** | Simple, no extra deps, clear field names | Pydantic models — adds dependency; raw dicts — loses IDE support | +| **Normalize to Anthropic-style semantics** | The entire existing codebase uses Anthropic conventions (`stop_reason`, `tool_use`, content blocks); normalizing to this reduces changes | Normalize to OpenAI-style — would require rewriting all 12 stages | +| **Environment variable configuration** | Consistent with existing `.env` pattern | Config file — more complex; CLI args — different per stage | +| **Provider converts messages both ways** | Tool results in Anthropic format (list of `tool_result` dicts in user message) differ from OpenRouter format (`role: tool` messages); provider handles this transparently | Let agent code produce both formats — violates DRY | + +--- + +## 3. Detailed Design + +### 3.1 Normalized Types (`agents/llm_provider.py`) + +```python +from dataclasses import dataclass, field +from typing import Any +from abc import ABC, abstractmethod + +@dataclass +class TextBlock: + """Normalized text content block.""" + type: str = "text" + text: str = "" + +@dataclass +class ToolUseBlock: + """Normalized tool use block.""" + type: str = "tool_use" + id: str = "" + name: str = "" + input: dict = field(default_factory=dict) + +ContentBlock = TextBlock | ToolUseBlock + +@dataclass +class LLMResponse: + """Normalized LLM response, provider-agnostic.""" + stop_reason: str # "tool_use" | "end_turn" | "max_tokens" + content: list[ContentBlock] # Mixed list of TextBlock / ToolUseBlock + raw: Any = None # Original provider response for debugging +``` + +### 3.2 Abstract Provider Interface + +```python +class LLMProvider(ABC): + """Abstract interface for LLM providers.""" + + @abstractmethod + def create_message( + self, + model: str, + system: str, + messages: list[dict], + tools: list[dict] | None = None, + max_tokens: int = 8000, + ) -> LLMResponse: + """Send a message to the LLM and return a normalized response. + + Args: + model: Model identifier string. + system: System prompt text. + messages: Conversation history in Anthropic-style format. + The provider is responsible for converting to its native format. + tools: Tool definitions in Anthropic-style format (flat {name, description, input_schema}). + The provider converts to its native format internally. + max_tokens: Maximum tokens in the response. + + Returns: + LLMResponse with normalized stop_reason and content blocks. + """ + ... + + @abstractmethod + def format_assistant_message(self, response: LLMResponse) -> dict: + """Format the assistant's response as a message dict for conversation history. + + Returns a dict suitable for appending to the messages list. + For Anthropic: {"role": "assistant", "content": } + For OpenRouter: {"role": "assistant", "content": "...", "tool_calls": [...]} + + The provider stores this in whatever format it needs, and `create_message` + handles conversion when sending to the API. + """ + ... + + @abstractmethod + def format_tool_results(self, results: list[dict]) -> dict: + """Format tool results for the conversation history. + + Args: + results: List of {"tool_use_id": str, "content": str} dicts. + + Returns: + Message(s) suitable for appending to messages list. + For Anthropic: single {"role": "user", "content": [{"type": "tool_result", ...}]} + For OpenRouter: list of {"role": "tool", "tool_call_id": ..., "content": ...} + """ + ... +``` + +### 3.3 Anthropic Provider Implementation + +```python +class AnthropicProvider(LLMProvider): + """Provider using the Anthropic Python SDK (native Claude API).""" + + def __init__(self): + from anthropic import Anthropic + base_url = os.getenv("ANTHROPIC_BASE_URL") + if base_url: + os.environ.pop("ANTHROPIC_AUTH_TOKEN", None) + self._client = Anthropic(base_url=base_url) + + def create_message(self, model, system, messages, tools=None, max_tokens=8000): + kwargs = dict(model=model, system=system, messages=messages, max_tokens=max_tokens) + if tools: + kwargs["tools"] = tools # Anthropic format passed through + response = self._client.messages.create(**kwargs) + return LLMResponse( + stop_reason=response.stop_reason, + content=[self._convert_block(b) for b in response.content], + raw=response, + ) + + def _convert_block(self, block) -> ContentBlock: + if block.type == "text": + return TextBlock(text=block.text) + elif block.type == "tool_use": + return ToolUseBlock(id=block.id, name=block.name, input=block.input) + return TextBlock(text=str(block)) + + def format_assistant_message(self, response: LLMResponse) -> dict: + # Anthropic stores raw content blocks in the assistant message + return {"role": "assistant", "content": response.raw.content} + + def format_tool_results(self, results: list[dict]) -> dict: + return { + "role": "user", + "content": [ + {"type": "tool_result", "tool_use_id": r["tool_use_id"], "content": r["content"]} + for r in results + ], + } +``` + +### 3.4 OpenRouter Provider Implementation + +```python +import json as _json + +class OpenRouterProvider(LLMProvider): + """Provider using the OpenRouter Python SDK (OpenAI-compatible API).""" + + def __init__(self): + from openrouter import OpenRouter + self._client = OpenRouter(api_key=os.getenv("OPENROUTER_API_KEY", "")) + + def create_message(self, model, system, messages, tools=None, max_tokens=8000): + # Convert Anthropic-style messages to OpenAI-style + oai_messages = self._convert_messages(system, messages) + + kwargs = dict( + model=model, + messages=oai_messages, + max_tokens=max_tokens, + ) + if tools: + kwargs["tools"] = self._convert_tools(tools) + + response = self._client.chat.send(**kwargs) + return self._normalize_response(response) + + def _convert_messages(self, system: str, messages: list[dict]) -> list[dict]: + """Convert Anthropic-format messages to OpenAI-format messages.""" + oai = [] + if system: + oai.append({"role": "system", "content": system}) + + for msg in messages: + role = msg["role"] + content = msg.get("content") + + if role == "assistant": + # Could be raw Anthropic block list or already OpenRouter format + if isinstance(content, list) and content and hasattr(content[0], "type"): + # Anthropic SDK block objects — convert + oai.append(self._convert_assistant_blocks(content)) + elif isinstance(content, dict) and "tool_calls" in content: + oai.append(content) + elif isinstance(content, str): + oai.append({"role": "assistant", "content": content}) + else: + # Already in OpenRouter format (from format_assistant_message) + oai.append(msg) + + elif role == "user": + if isinstance(content, list): + # Check if this is tool results (Anthropic format) + if content and isinstance(content[0], dict) and content[0].get("type") == "tool_result": + for tr in content: + oai.append({ + "role": "tool", + "tool_call_id": tr["tool_use_id"], + "content": tr.get("content", ""), + }) + else: + # Mixed content (e.g. text + tool_results from nag reminder) + # Separate tool results from text + tool_results = [c for c in content if isinstance(c, dict) and c.get("type") == "tool_result"] + text_parts = [c for c in content if isinstance(c, dict) and c.get("type") == "text"] + + for tr in tool_results: + oai.append({ + "role": "tool", + "tool_call_id": tr["tool_use_id"], + "content": tr.get("content", ""), + }) + if text_parts: + oai.append({"role": "user", "content": " ".join(t.get("text", "") for t in text_parts)}) + else: + oai.append({"role": "user", "content": content}) + else: + oai.append(msg) + + return oai + + def _convert_assistant_blocks(self, blocks) -> dict: + """Convert Anthropic assistant content blocks to OpenAI assistant message.""" + text_parts = [] + tool_calls = [] + for block in blocks: + if hasattr(block, "type"): + if block.type == "text": + text_parts.append(block.text) + elif block.type == "tool_use": + tool_calls.append({ + "id": block.id, + "type": "function", + "function": { + "name": block.name, + "arguments": _json.dumps(block.input), + }, + }) + msg = {"role": "assistant", "content": " ".join(text_parts) if text_parts else None} + if tool_calls: + msg["tool_calls"] = tool_calls + return msg + + def _convert_tools(self, tools: list[dict]) -> list[dict]: + """Convert Anthropic-style tool defs to OpenAI-style.""" + return [ + { + "type": "function", + "function": { + "name": t["name"], + "description": t.get("description", ""), + "parameters": t.get("input_schema", {"type": "object", "properties": {}}), + }, + } + for t in tools + ] + + def _normalize_response(self, response) -> LLMResponse: + """Convert OpenRouter response to normalized LLMResponse.""" + choice = response.choices[0] + message = choice.message + + # Normalize finish_reason + finish = choice.finish_reason + if finish == "tool_calls": + stop_reason = "tool_use" + elif finish == "stop": + stop_reason = "end_turn" + elif finish == "length": + stop_reason = "max_tokens" + else: + stop_reason = "end_turn" + + # Build content blocks + blocks: list[ContentBlock] = [] + if message.content: + blocks.append(TextBlock(text=message.content)) + if message.tool_calls: + for tc in message.tool_calls: + args = tc.function.arguments + if isinstance(args, str): + args = _json.loads(args) + blocks.append(ToolUseBlock( + id=tc.id, + name=tc.function.name, + input=args, + )) + + return LLMResponse(stop_reason=stop_reason, content=blocks, raw=response) + + def format_assistant_message(self, response: LLMResponse) -> dict: + """Store assistant message in OpenRouter-native format.""" + msg = {"role": "assistant", "content": None} + text_parts = [] + tool_calls = [] + for block in response.content: + if isinstance(block, TextBlock): + text_parts.append(block.text) + elif isinstance(block, ToolUseBlock): + tool_calls.append({ + "id": block.id, + "type": "function", + "function": { + "name": block.name, + "arguments": _json.dumps(block.input), + }, + }) + if text_parts: + msg["content"] = " ".join(text_parts) + if tool_calls: + msg["tool_calls"] = tool_calls + return msg + + def format_tool_results(self, results: list[dict]) -> list[dict]: + """OpenRouter uses separate 'tool' role messages.""" + return [ + {"role": "tool", "tool_call_id": r["tool_use_id"], "content": r["content"]} + for r in results + ] +``` + +### 3.5 Factory Function + +```python +def create_provider(provider_name: str = None) -> LLMProvider: + """Create an LLM provider based on configuration. + + Args: + provider_name: "anthropic" or "openrouter". + Defaults to LLM_PROVIDER env var, then "anthropic". + """ + name = (provider_name or os.getenv("LLM_PROVIDER", "anthropic")).lower() + if name == "anthropic": + return AnthropicProvider() + elif name == "openrouter": + return OpenRouterProvider() + else: + raise ValueError(f"Unknown LLM provider: {name}. Use 'anthropic' or 'openrouter'.") +``` + +--- + +## 4. Stage-by-Stage Implementation Plan + +### 4.1 Refactoring Pattern (Applied to Each Stage) + +Each stage requires these minimal changes: + +**Before (e.g., s01):** +```python +from anthropic import Anthropic +client = Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL")) +MODEL = os.environ["MODEL_ID"] + +# In agent_loop: +response = client.messages.create( + model=MODEL, system=SYSTEM, messages=messages, + tools=TOOLS, max_tokens=8000, +) +messages.append({"role": "assistant", "content": response.content}) +if response.stop_reason != "tool_use": + return +for block in response.content: + if block.type == "tool_use": + # ... use block.name, block.input, block.id + results.append({"type": "tool_result", "tool_use_id": block.id, "content": output}) +messages.append({"role": "user", "content": results}) +``` + +**After:** +```python +from agents.llm_provider import create_provider +provider = create_provider() +MODEL = os.environ["MODEL_ID"] + +# In agent_loop: +response = provider.create_message( + model=MODEL, system=SYSTEM, messages=messages, + tools=TOOLS, max_tokens=8000, +) +messages.append(provider.format_assistant_message(response)) +if response.stop_reason != "tool_use": + return +for block in response.content: + if block.type == "tool_use": + # ... use block.name, block.input, block.id (UNCHANGED) + results.append({"tool_use_id": block.id, "content": output}) +tool_msg = provider.format_tool_results(results) +if isinstance(tool_msg, list): + messages.extend(tool_msg) +else: + messages.append(tool_msg) +``` + +**Lines changed per stage: ~8–12 lines** (import, client init, create call, message formatting, tool result formatting). + +### 4.2 Stage-Specific Notes + +| Stage | Extra Considerations | +|-------|---------------------| +| **s01** | Simplest case. Direct substitution. | +| **s02** | Same as s01 but with 4 tools. No special handling needed. | +| **s03** | Nag reminder injects `{"type": "text"}` into user content alongside tool results. OpenRouterProvider must handle mixed content in `_convert_messages()`. | +| **s04** | Subagent creates its own `client.messages.create()` call. Both parent and child use the same `provider` instance. | +| **s05** | No special concern — skill loading is tool-based. | +| **s06** | `auto_compact()` makes a **separate** LLM call for summarization (no tools). Provider must handle tool-less calls gracefully. | +| **s07** | Standard task tools. No special handling. | +| **s08** | Background task notifications inject text into messages. Same mixed-content concern as s03. | +| **s09–s11** | Teammate threads each call `client.messages.create()`. All threads share the same `provider` instance. **Thread safety**: OpenRouter SDK uses HTTPX which is thread-safe. Anthropic SDK is also thread-safe. | +| **s12** | Standard — same pattern as s07. | +| **s_full** | Combines all mechanisms. Same provider instance shared. | + +### 4.3 Handling `format_tool_results` Return Type Difference + +A key design subtlety: Anthropic expects tool results as a **single user message** containing a list of `tool_result` items, while OpenRouter expects **multiple separate `tool` role messages**. + +The `format_tool_results` method returns: +- **Anthropic**: `dict` (single message) +- **OpenRouter**: `list[dict]` (multiple messages) + +Agent code handles this with: +```python +tool_msg = provider.format_tool_results(results) +if isinstance(tool_msg, list): + messages.extend(tool_msg) +else: + messages.append(tool_msg) +``` + +This pattern must be applied consistently across all stages. + +### 4.4 Handling Mixed Content (s03, s08) + +In s03, the nag reminder is injected as: +```python +results.insert(0, {"type": "text", "text": "Update your todos."}) +messages.append({"role": "user", "content": results}) +``` + +For OpenRouter, the provider's `_convert_messages()` already handles this by separating text items from tool_result items. No additional stage-specific code needed. + +--- + +## 5. Configuration Changes + +### 5.1 Updated `.env.example` + +```bash +# === LLM Provider Selection === +# Choose: "anthropic" (default) or "openrouter" +# LLM_PROVIDER=anthropic + +# === Anthropic Configuration === +ANTHROPIC_API_KEY=sk-ant-xxx +MODEL_ID=claude-sonnet-4-6 + +# Base URL (optional, for Anthropic-compatible providers) +# ANTHROPIC_BASE_URL=https://api.anthropic.com + +# === OpenRouter Configuration === +# OPENROUTER_API_KEY=sk-or-v1-xxx +# MODEL_ID=anthropic/claude-sonnet-4 # OpenRouter model format + +# Supported Claude models on OpenRouter: +# anthropic/claude-haiku (Claude Haiku - fast, cheap) +# anthropic/claude-sonnet-4 (Claude Sonnet 4 - balanced) +# anthropic/claude-opus-4 (Claude Opus 4 - most capable) +# anthropic/claude-sonnet-4.5 (Claude Sonnet 4.5) +# anthropic/claude-4.5-sonnet (alias) +# +# Non-Claude models available via OpenRouter (300+ models): +# openai/gpt-4o +# google/gemini-2.5-pro +# meta-llama/llama-4-maverick +# deepseek/deepseek-chat +# ... and many more at https://openrouter.ai/models +``` + +### 5.2 Updated `requirements.txt` + +``` +anthropic>=0.25.0 +python-dotenv>=1.0.0 +openrouter>=0.1.0 # Optional: only needed when LLM_PROVIDER=openrouter +``` + +Note: `openrouter` is a soft dependency. If `LLM_PROVIDER=anthropic` (default), the openrouter package is not imported or needed. The import happens lazily inside `OpenRouterProvider.__init__()`. + +--- + +## 6. Model ID Mapping + +When using Claude models, the model ID format differs between providers: + +| Model | Anthropic `MODEL_ID` | OpenRouter `MODEL_ID` | +|-------|----------------------|----------------------| +| Claude Haiku | `claude-haiku-4-5` | `anthropic/claude-haiku` | +| Claude Sonnet | `claude-sonnet-4-6` | `anthropic/claude-sonnet-4` | +| Claude Opus | `claude-opus-4` | `anthropic/claude-opus-4` | + +The user sets `MODEL_ID` according to their chosen provider. No automatic mapping is needed — this keeps the configuration explicit and avoids magic that could surprise users. + +--- + +## 7. Testing Plan + +### 7.1 Test Structure + +``` +tests/ +├── __init__.py +├── conftest.py # Shared fixtures, mock providers +├── test_llm_provider.py # Unit tests for provider abstraction +├── test_anthropic_provider.py # Unit tests for Anthropic adapter +├── test_openrouter_provider.py # Unit tests for OpenRouter adapter +├── test_message_conversion.py # Unit tests for format conversion +├── test_agent_stages.py # Integration tests for all stages +``` + +### 7.2 Unit Tests: Provider Abstraction (`test_llm_provider.py`) + +```python +class TestCreateProvider: + """Test factory function.""" + + def test_default_is_anthropic(self, monkeypatch): + monkeypatch.delenv("LLM_PROVIDER", raising=False) + provider = create_provider() + assert isinstance(provider, AnthropicProvider) + + def test_explicit_anthropic(self): + provider = create_provider("anthropic") + assert isinstance(provider, AnthropicProvider) + + def test_explicit_openrouter(self): + provider = create_provider("openrouter") + assert isinstance(provider, OpenRouterProvider) + + def test_case_insensitive(self): + provider = create_provider("OpenRouter") + assert isinstance(provider, OpenRouterProvider) + + def test_unknown_provider_raises(self): + with pytest.raises(ValueError, match="Unknown LLM provider"): + create_provider("azure") + + def test_env_var_override(self, monkeypatch): + monkeypatch.setenv("LLM_PROVIDER", "openrouter") + provider = create_provider() + assert isinstance(provider, OpenRouterProvider) +``` + +### 7.3 Unit Tests: Anthropic Provider (`test_anthropic_provider.py`) + +```python +class TestAnthropicProvider: + """Test Anthropic provider with mocked SDK client.""" + + def test_create_message_text_response(self, mock_anthropic_client): + """Model returns text only → stop_reason='end_turn', one TextBlock.""" + provider = AnthropicProvider() + provider._client = mock_anthropic_client + mock_anthropic_client.messages.create.return_value = MockResponse( + stop_reason="end_turn", + content=[MockTextBlock("Hello!")] + ) + resp = provider.create_message("model", "system", [{"role": "user", "content": "hi"}]) + assert resp.stop_reason == "end_turn" + assert len(resp.content) == 1 + assert resp.content[0].text == "Hello!" + + def test_create_message_tool_use(self, mock_anthropic_client): + """Model calls a tool → stop_reason='tool_use', ToolUseBlock present.""" + provider = AnthropicProvider() + provider._client = mock_anthropic_client + mock_anthropic_client.messages.create.return_value = MockResponse( + stop_reason="tool_use", + content=[MockToolUseBlock(id="tu_1", name="bash", input={"command": "ls"})] + ) + resp = provider.create_message("model", "system", [], tools=[SAMPLE_TOOL]) + assert resp.stop_reason == "tool_use" + assert resp.content[0].name == "bash" + assert resp.content[0].input == {"command": "ls"} + + def test_format_assistant_message(self): + """Assistant message wraps raw Anthropic content blocks.""" + # ... + + def test_format_tool_results(self): + """Returns single user message with tool_result list.""" + provider = AnthropicProvider() + result = provider.format_tool_results([ + {"tool_use_id": "tu_1", "content": "output"}, + ]) + assert result["role"] == "user" + assert result["content"][0]["type"] == "tool_result" + assert result["content"][0]["tool_use_id"] == "tu_1" + + def test_tools_passed_through(self, mock_anthropic_client): + """Anthropic tool format is passed through without conversion.""" + # Verify that input_schema is not renamed to parameters + # ... +``` + +### 7.4 Unit Tests: OpenRouter Provider (`test_openrouter_provider.py`) + +```python +class TestOpenRouterProvider: + """Test OpenRouter provider with mocked SDK client.""" + + def test_create_message_text_response(self, mock_openrouter_client): + """Model returns text → normalized to TextBlock.""" + provider = OpenRouterProvider() + provider._client = mock_openrouter_client + mock_openrouter_client.chat.send.return_value = MockChatResponse( + finish_reason="stop", + content="Hello!", + tool_calls=None, + ) + resp = provider.create_message("model", "sys", [{"role": "user", "content": "hi"}]) + assert resp.stop_reason == "end_turn" + assert resp.content[0].text == "Hello!" + + def test_create_message_tool_calls(self, mock_openrouter_client): + """Model calls tools → normalized to ToolUseBlock.""" + provider = OpenRouterProvider() + provider._client = mock_openrouter_client + mock_openrouter_client.chat.send.return_value = MockChatResponse( + finish_reason="tool_calls", + content=None, + tool_calls=[MockToolCall(id="tc_1", name="bash", arguments='{"command":"ls"}')], + ) + resp = provider.create_message("model", "sys", [], tools=[SAMPLE_TOOL]) + assert resp.stop_reason == "tool_use" + assert resp.content[0].name == "bash" + assert resp.content[0].input == {"command": "ls"} + + def test_format_tool_results_returns_list(self): + """OpenRouter returns list of tool messages.""" + provider = OpenRouterProvider() + results = provider.format_tool_results([ + {"tool_use_id": "tc_1", "content": "output"}, + ]) + assert isinstance(results, list) + assert results[0]["role"] == "tool" + assert results[0]["tool_call_id"] == "tc_1" + + def test_system_prompt_injected_as_message(self, mock_openrouter_client): + """System prompt becomes first message with role='system'.""" + provider = OpenRouterProvider() + provider._client = mock_openrouter_client + mock_openrouter_client.chat.send.return_value = MockChatResponse( + finish_reason="stop", content="ok", tool_calls=None + ) + provider.create_message("m", "You are helpful.", [{"role": "user", "content": "hi"}]) + call_args = mock_openrouter_client.chat.send.call_args + msgs = call_args.kwargs["messages"] + assert msgs[0] == {"role": "system", "content": "You are helpful."} + assert msgs[1] == {"role": "user", "content": "hi"} +``` + +### 7.5 Unit Tests: Message Format Conversion (`test_message_conversion.py`) + +```python +class TestMessageConversion: + """Test Anthropic→OpenAI message format conversion.""" + + def test_convert_tool_results(self): + """Anthropic tool results in user message → OpenAI tool messages.""" + provider = OpenRouterProvider() + messages = [ + {"role": "user", "content": [ + {"type": "tool_result", "tool_use_id": "tu_1", "content": "file.txt"}, + ]}, + ] + oai = provider._convert_messages("", messages) + assert oai[0]["role"] == "tool" + assert oai[0]["tool_call_id"] == "tu_1" + + def test_convert_mixed_content_with_reminder(self): + """Nag reminder text + tool results in same user message.""" + provider = OpenRouterProvider() + messages = [ + {"role": "user", "content": [ + {"type": "text", "text": "Update todos"}, + {"type": "tool_result", "tool_use_id": "tu_1", "content": "done"}, + ]}, + ] + oai = provider._convert_messages("", messages) + # Should produce both a tool message and a user message + roles = [m["role"] for m in oai] + assert "tool" in roles + assert "user" in roles + + def test_convert_tool_definitions(self): + """Anthropic flat tool defs → OpenAI nested function format.""" + provider = OpenRouterProvider() + tools = [{"name": "bash", "description": "Run command", + "input_schema": {"type": "object", "properties": {"command": {"type": "string"}}}}] + oai_tools = provider._convert_tools(tools) + assert oai_tools[0]["type"] == "function" + assert oai_tools[0]["function"]["name"] == "bash" + assert oai_tools[0]["function"]["parameters"]["type"] == "object" + + def test_empty_system_prompt(self): + """Empty system prompt should not inject a system message.""" + provider = OpenRouterProvider() + oai = provider._convert_messages("", [{"role": "user", "content": "hi"}]) + assert oai[0]["role"] == "user" + + def test_roundtrip_preservation(self): + """Messages formatted by provider can be read back correctly.""" + # ... +``` + +### 7.6 Integration Tests: Agent Stages (`test_agent_stages.py`) + +These tests verify each stage works end-to-end with a mocked provider. + +```python +class MockProvider(LLMProvider): + """Mock provider that returns scripted responses.""" + def __init__(self, responses: list[LLMResponse]): + self._responses = iter(responses) + + def create_message(self, model, system, messages, tools=None, max_tokens=8000): + return next(self._responses) + + def format_assistant_message(self, response): + return {"role": "assistant", "content": [ + {"type": b.type, **({"text": b.text} if hasattr(b, "text") else {"id": b.id, "name": b.name, "input": b.input})} + for b in response.content + ]} + + def format_tool_results(self, results): + return {"role": "user", "content": [ + {"type": "tool_result", "tool_use_id": r["tool_use_id"], "content": r["content"]} + for r in results + ]} + + +class TestS01AgentLoop: + """Verify s01 agent loop works with mock provider.""" + + def test_single_tool_call_then_text(self, tmp_path): + """Agent calls bash once, then returns text.""" + provider = MockProvider([ + LLMResponse(stop_reason="tool_use", content=[ + ToolUseBlock(id="1", name="bash", input={"command": "echo hello"}) + ]), + LLMResponse(stop_reason="end_turn", content=[ + TextBlock(text="Done!") + ]), + ]) + messages = [{"role": "user", "content": "say hello"}] + # agent_loop(messages, provider) # Pass provider + # assert messages[-1] contains text "Done!" + + def test_no_tool_call(self): + """Model responds with text only — loop exits immediately.""" + # ... + + +class TestS04Subagent: + """Verify subagent uses same provider.""" + + def test_subagent_gets_provider(self): + """Child agent should use the same provider instance.""" + # ... + + +class TestS06ContextCompact: + """Verify auto_compact works with provider.""" + + def test_auto_compact_uses_provider_for_summary(self): + """Summarization call goes through provider.create_message().""" + # ... +``` + +### 7.7 Negative Test Cases + +```python +class TestErrorHandling: + """Test error scenarios.""" + + def test_openrouter_invalid_api_key(self): + """OpenRouter returns 401 → should propagate as readable error.""" + # ... + + def test_openrouter_rate_limit(self): + """OpenRouter returns 429 → should propagate.""" + # ... + + def test_malformed_tool_call_arguments(self): + """OpenRouter returns non-JSON arguments → handle gracefully.""" + provider = OpenRouterProvider() + # Mock response with malformed arguments + # Should not crash; should return error content + + def test_missing_api_key_anthropic(self): + """No ANTHROPIC_API_KEY → clear error on init.""" + # ... + + def test_missing_api_key_openrouter(self): + """No OPENROUTER_API_KEY → clear error on first call.""" + # ... + + def test_provider_timeout(self): + """API call times out → should propagate.""" + # ... + + def test_empty_response_content(self): + """Model returns empty content → should not crash.""" + # ... +``` + +### 7.8 Test Configuration + +```ini +# pytest.ini or pyproject.toml [tool.pytest.ini_options] +[pytest] +testpaths = tests +markers = + unit: Unit tests (no external API calls) + integration: Integration tests (may use mock or real API) + slow: Tests that take >5s +``` + +--- + +## 8. Performance Considerations + +| Concern | Impact | Mitigation | +|---------|--------|------------| +| **Extra abstraction layer overhead** | Negligible. `create_message()` adds ~0.1ms of Python overhead vs. multi-second API latency. | No action needed. | +| **Message format conversion** | O(n) in message count. For typical conversations (<100 messages), this is <1ms. | No action needed for typical use. For s06 compacted conversations, messages are already short. | +| **OpenRouter SDK HTTP client** | Uses HTTPX connection pooling internally. | Reuse single `OpenRouter()` instance (already the design). | +| **Thread safety (s09-s11)** | Multiple teammate threads share one provider. Both Anthropic and OpenRouter SDKs are thread-safe. | No extra locking needed. | +| **Lazy import** | `from openrouter import OpenRouter` only happens when `LLM_PROVIDER=openrouter`. | No penalty for Anthropic-only users. | + +--- + +## 9. Implementation Sequence + +### Phase 1: Core Provider Layer (Priority: P0) +1. Create `agents/llm_provider.py` with all types, abstract class, both providers, and factory. +2. Write `tests/test_llm_provider.py`, `tests/test_anthropic_provider.py`, `tests/test_openrouter_provider.py`, `tests/test_message_conversion.py`. +3. Validate all unit tests pass. + +### Phase 2: Refactor Agent Stages (Priority: P0) +4. Refactor `s01_agent_loop.py` — the simplest stage. Verify manually with both providers. +5. Refactor `s02_tool_use.py` through `s08_background_tasks.py` using the same pattern. +6. Refactor `s09_agent_teams.py` through `s12_worktree_task_isolation.py` — these have teammate threads that also need the provider. +7. Refactor `s_full.py`. + +### Phase 3: Configuration & Documentation (Priority: P1) +8. Update `.env.example` with OpenRouter configuration section. +9. Update `requirements.txt` to add `openrouter` as optional dependency. +10. Update `README.md` Quick Start section to mention OpenRouter option. + +### Phase 4: Integration Testing (Priority: P1) +11. Write integration tests in `tests/test_agent_stages.py` using MockProvider. +12. Manual end-to-end testing with real OpenRouter API key. + +### Estimated Effort + +| Task | Effort | +|------|--------| +| `llm_provider.py` | 2 hours | +| Unit tests for provider | 2 hours | +| Refactor s01–s08 (8 files) | 2 hours | +| Refactor s09–s12 + s_full (5 files) | 2 hours | +| Configuration + docs | 1 hour | +| Integration tests | 2 hours | +| Manual E2E testing | 1 hour | +| **Total** | **~12 hours** | + +--- + +## 10. Risk Analysis + +| Risk | Likelihood | Impact | Mitigation | +|------|------------|--------|------------| +| OpenRouter SDK breaks backward compat | Medium | High | Pin `openrouter>=0.1.0,<1.0` in requirements | +| Model-specific tool calling quirks via OpenRouter | Medium | Medium | Document tested models; add model-specific tests | +| Teaching clarity reduced by abstraction | Low | Medium | Keep `llm_provider.py` well-commented; each stage's diff is small and obvious | +| Thread safety issue in providers | Low | High | Both SDKs document thread safety; add threading tests | +| OpenRouter free-tier rate limits in CI | Medium | Low | Mock all API calls in CI; use real API only in manual E2E | + +--- + +## 11. Summary of Changes per File + +| File | Change Type | Description | +|------|-------------|-------------| +| `agents/llm_provider.py` | **NEW** | Provider abstraction, types, Anthropic/OpenRouter adapters, factory | +| `agents/s01_agent_loop.py` | MODIFY | Replace `Anthropic()` + `client.messages.create()` with provider | +| `agents/s02_tool_use.py` | MODIFY | Same pattern | +| `agents/s03_todo_write.py` | MODIFY | Same pattern + handle mixed content in tool results | +| `agents/s04_subagent.py` | MODIFY | Same pattern for both parent and child loops | +| `agents/s05_skill_loading.py` | MODIFY | Same pattern | +| `agents/s06_context_compact.py` | MODIFY | Same pattern + use provider for summarization call | +| `agents/s07_task_system.py` | MODIFY | Same pattern | +| `agents/s08_background_tasks.py` | MODIFY | Same pattern | +| `agents/s09_agent_teams.py` | MODIFY | Same pattern + teammate loops use shared provider | +| `agents/s10_team_protocols.py` | MODIFY | Same pattern + teammate loops use shared provider | +| `agents/s11_autonomous_agents.py` | MODIFY | Same pattern + teammate loops use shared provider | +| `agents/s12_worktree_task_isolation.py` | MODIFY | Same pattern | +| `agents/s_full.py` | MODIFY | Same pattern (all mechanisms combined) | +| `.env.example` | MODIFY | Add OpenRouter config section | +| `requirements.txt` | MODIFY | Add `openrouter>=0.1.0` | +| `tests/` | **NEW** | All test files | + +--- + +## Appendix A: Complete `llm_provider.py` Skeleton + +See Section 3.1–3.5 for the complete module design. The module is ~250 lines of Python with no external dependencies beyond the provider SDKs (imported lazily). + +## Appendix B: OpenRouter Model Routing + +OpenRouter supports provider routing preferences. The `OpenRouterProvider` can be extended later to support: +```python +provider_config = { + "sort": "price", # Route by cheapest provider + "zdr": True, # Zero data retention + "allow_fallbacks": True # Fall back to alternative providers +} +``` + +This is not in scope for the initial implementation but the architecture supports it via kwargs pass-through in `create_message()`. diff --git a/outputs/open-router-implementation-plan=gpt-5.3-codex.md b/outputs/open-router-implementation-plan-gpt-5.3-codex.md similarity index 100% rename from outputs/open-router-implementation-plan=gpt-5.3-codex.md rename to outputs/open-router-implementation-plan-gpt-5.3-codex.md From 4c65b1f126d078629a584a417cdbf38e830301b5 Mon Sep 17 00:00:00 2001 From: Richard Zhang Date: Mon, 2 Mar 2026 00:06:39 -0500 Subject: [PATCH 3/5] 3rd commit: README_RZ.md update --- README_RZ.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README_RZ.md b/README_RZ.md index 2fe8d7b32..abd355cb4 100644 --- a/README_RZ.md +++ b/README_RZ.md @@ -26,6 +26,13 @@ git checkout -b rz_experiment - Assign the implementation changes and testing to the experiment plan agent for it to finish the task fully without intervention - Use high cost model +### Agents from s01 to s12 - all supports both Claude and Open Router models + +- custom agent: open-router-plan.agent.md to produce design and implementatoin plan +- make the plan to be custom agent: llm-provider-feature.agent.md + +- agent skill: openrouter-python-sdk - generated by skill-seekers from the cloned openrouter python SDK. + ### learn-claude-code code base experiments Question: How agent manage agent skills and how agent decide which skill to inovke and with what information made available to agent skill or the full conext? From 8c61a07a3f20080f13c04fe03c76362da41e1b0e Mon Sep 17 00:00:00 2001 From: Richard Zhang Date: Mon, 2 Mar 2026 00:12:15 -0500 Subject: [PATCH 4/5] 4th commit: README_RZ.md minor update --- README_RZ.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README_RZ.md b/README_RZ.md index abd355cb4..83d8e1bc2 100644 --- a/README_RZ.md +++ b/README_RZ.md @@ -28,11 +28,13 @@ git checkout -b rz_experiment ### Agents from s01 to s12 - all supports both Claude and Open Router models -- custom agent: open-router-plan.agent.md to produce design and implementatoin plan -- make the plan to be custom agent: llm-provider-feature.agent.md +- custom agent: open-router-plan.agent.md to produce design and implementation plan +- custom agent: llm-provider-feature.agent.md created from the design and implementation plan - agent skill: openrouter-python-sdk - generated by skill-seekers from the cloned openrouter python SDK. +- Create github issue for LLM provider feature and assign the issue to gh copilot cli agent by running the llm-provider-feature.agent.m. Let coding agent to implement and unit test + ### learn-claude-code code base experiments Question: How agent manage agent skills and how agent decide which skill to inovke and with what information made available to agent skill or the full conext? From a9fa51579c099d97161908e1a92da6cf3b4268d6 Mon Sep 17 00:00:00 2001 From: Richard Zhang Date: Mon, 23 Mar 2026 08:01:59 -0400 Subject: [PATCH 5/5] Add devcontainer.json for Python and features Updated devcontainer configuration to use Python image and added features for Node and Copilot CLI. --- .devcontainer/devcontainer.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..386ddc3af --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,28 @@ +{ + "name": "Learn Claude Code Dev Container", + "image": "mcr.microsoft.com/devcontainers/python:3", + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "latest" + }, + "ghcr.io/devcontainers/features/copilot-cli:1": {} + }, + "postCreateCommand": { + "install-copilot-sdk": "copilot plugin install copilot-sdk@awesome-copilot" + }, + "customizations": { + "vscode": { + "extensions": [ + "GitHub.copilot", + "GitHub.copilot-chat", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "DavidAnson.vscode-markdownlint" + ], + "settings": { + "editor.fontSize": 14, + "terminal.integrated.fontSize": 14 + } + } + } +}