Files
openrouter-python-sdk-retry…/.speakeasy/gen.lock
T
Matt Apperson f4ffd51f40 chore: regenerate Python SDK v0.0.17
Update Python SDK with Speakeasy regeneration:
- Bump version from 0.0.16 to 0.0.17
- Refactor OpenAPI schema definitions:
  - Inline BigNumberUnion type into usage sites
  - Reorganize ProviderName enum location
  - Simplify provider order/only/ignore array types
  - Add plugins schema definitions
- Update gen.lock with new configChecksum
2025-11-18 13:56:41 -05:00

1101 lines
60 KiB
Plaintext

lockVersion: 2.0.0
id: cfd52247-6a25-4c6d-bbce-fe6fce0cd69d
management:
docChecksum: b1b97e85c6e3464e1fd6e2163c4ebc87
docVersion: 1.0.0
speakeasyVersion: 1.658.2
generationVersion: 2.755.9
releaseVersion: 0.0.18
configChecksum: 4386d334ab676d900bdb35b056f15169
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
features:
python:
acceptHeaders: 3.0.0
additionalDependencies: 1.0.0
constsAndDefaults: 1.0.5
core: 5.23.9
defaultEnabledRetries: 0.2.0
deprecations: 3.0.2
devContainers: 3.0.0
enumUnions: 0.1.0
envVarSecurityUsage: 0.3.2
flatRequests: 1.0.1
flattening: 3.1.1
globalSecurity: 3.0.4
globalSecurityCallbacks: 1.0.0
globalSecurityFlattening: 1.0.0
globalServerURLs: 3.2.0
groups: 3.0.1
methodArguments: 1.0.2
methodSecurity: 3.0.1
nameOverrides: 3.0.1
nullables: 1.0.1
openEnums: 1.0.1
responseFormat: 1.0.1
retries: 3.0.2
sdkHooks: 1.1.0
serverEvents: 1.0.11
serverEventsSentinels: 0.1.0
serverIDs: 3.0.0
unions: 3.1.0
generatedFiles:
- .devcontainer/README.md
- .devcontainer/devcontainer.json
- .devcontainer/setup.sh
- .gitattributes
- .vscode/settings.json
- USAGE.md
- docs/components/activityitem.md
- docs/components/architecture.md
- docs/components/assistantmessage.md
- docs/components/assistantmessagecontent.md
- docs/components/badgatewayresponseerrordata.md
- docs/components/badrequestresponseerrordata.md
- docs/components/chainid.md
- docs/components/chatcompletionfinishreason.md
- docs/components/chaterrorerror.md
- docs/components/chatgenerationparams.md
- docs/components/chatgenerationparamsresponseformatjsonobject.md
- docs/components/chatgenerationparamsresponseformatpython.md
- docs/components/chatgenerationparamsresponseformattext.md
- docs/components/chatgenerationparamsresponseformatunion.md
- docs/components/chatgenerationparamsstop.md
- docs/components/chatgenerationtokenusage.md
- docs/components/chatmessagecontentitem.md
- docs/components/chatmessagecontentitemaudio.md
- docs/components/chatmessagecontentitemaudioformat.md
- docs/components/chatmessagecontentitemaudioinputaudio.md
- docs/components/chatmessagecontentitemimage.md
- docs/components/chatmessagecontentitemimagedetail.md
- docs/components/chatmessagecontentitemtext.md
- docs/components/chatmessagecontentitemvideo.md
- docs/components/chatmessagetokenlogprob.md
- docs/components/chatmessagetokenlogprobs.md
- docs/components/chatmessagetoolcall.md
- docs/components/chatmessagetoolcallfunction.md
- docs/components/chatresponse.md
- docs/components/chatresponsechoice.md
- docs/components/chatstreamingchoice.md
- docs/components/chatstreamingmessagechunk.md
- docs/components/chatstreamingmessagechunkrole.md
- docs/components/chatstreamingmessagetoolcall.md
- docs/components/chatstreamingmessagetoolcallfunction.md
- docs/components/chatstreamingresponsechunk.md
- docs/components/chatstreamingresponsechunkdata.md
- docs/components/chatstreamingresponsechunkerror.md
- docs/components/chatstreamoptions.md
- docs/components/code.md
- docs/components/codeenum.md
- docs/components/completionchoice.md
- docs/components/completioncreateparams.md
- docs/components/completioncreateparamsresponseformatjsonobject.md
- docs/components/completioncreateparamsresponseformatpython.md
- docs/components/completioncreateparamsresponseformattext.md
- docs/components/completioncreateparamsresponseformatunion.md
- docs/components/completioncreateparamsstop.md
- docs/components/completionfinishreason.md
- docs/components/completionlogprobs.md
- docs/components/completionresponse.md
- docs/components/completiontokensdetails.md
- docs/components/completionusage.md
- docs/components/costdetails.md
- docs/components/createchargerequest.md
- docs/components/datacollection.md
- docs/components/defaultparameters.md
- docs/components/edgenetworktimeoutresponseerrordata.md
- docs/components/effort.md
- docs/components/endpointstatus.md
- docs/components/engine.md
- docs/components/filecitation.md
- docs/components/filecitationtype.md
- docs/components/filepath.md
- docs/components/filepathtype.md
- docs/components/forbiddenresponseerrordata.md
- docs/components/idfileparser.md
- docs/components/idmoderation.md
- docs/components/idweb.md
- docs/components/ignore.md
- docs/components/imagegenerationstatus.md
- docs/components/imageurl.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/maxprice.md
- docs/components/message.md
- docs/components/messagecontent.md
- docs/components/messagedeveloper.md
- docs/components/model.md
- docs/components/modelarchitecture.md
- docs/components/modelarchitectureinstructtype.md
- docs/components/modelgroup.md
- docs/components/modelscountresponse.md
- docs/components/modelscountresponsedata.md
- docs/components/modelslistresponse.md
- docs/components/namedtoolchoice.md
- docs/components/namedtoolchoicefunction.md
- docs/components/notfoundresponseerrordata.md
- docs/components/object.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/openresponseseasyinputmessagecontent1.md
- docs/components/openresponseseasyinputmessagecontent2.md
- docs/components/openresponseseasyinputmessageroleassistant.md
- docs/components/openresponseseasyinputmessageroledeveloper.md
- docs/components/openresponseseasyinputmessagerolesystem.md
- docs/components/openresponseseasyinputmessageroleunion.md
- docs/components/openresponseseasyinputmessageroleuser.md
- docs/components/openresponseseasyinputmessagetype.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/openresponsesinputmessageitemcontent.md
- docs/components/openresponsesinputmessageitemroledeveloper.md
- docs/components/openresponsesinputmessageitemrolesystem.md
- docs/components/openresponsesinputmessageitemroleunion.md
- docs/components/openresponsesinputmessageitemroleuser.md
- docs/components/openresponsesinputmessageitemtype.md
- docs/components/openresponseslogprobs.md
- docs/components/openresponsesnonstreamingresponse.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/openresponsesrequesttoolfunction.md
- docs/components/openresponsesrequesttoolunion.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/payloadtoolargeresponseerrordata.md
- docs/components/paymentrequiredresponseerrordata.md
- docs/components/pdf.md
- docs/components/pdfengine.md
- docs/components/perrequestlimits.md
- docs/components/plugin.md
- docs/components/pluginfileparser.md
- docs/components/pluginmoderation.md
- docs/components/pluginweb.md
- docs/components/pricing.md
- docs/components/prompt.md
- docs/components/prompttokensdetails.md
- docs/components/provider.md
- docs/components/providername.md
- docs/components/provideroverloadedresponseerrordata.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/reasoningsummarytext.md
- docs/components/reasoningsummarytexttype.md
- docs/components/reasoningsummaryverbosity.md
- docs/components/reasoningtextcontent.md
- docs/components/reasoningtextcontenttype.md
- docs/components/requesttimeoutresponseerrordata.md
- docs/components/responseformatjsonschema.md
- docs/components/responseformattextconfig.md
- docs/components/responseformattextgrammar.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/responseoutputtext.md
- docs/components/responseoutputtexttype.md
- docs/components/responseserrorfield.md
- docs/components/responsesformatjsonobject.md
- docs/components/responsesformatjsonobjecttype.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/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/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/streamoptions.md
- docs/components/systemmessage.md
- docs/components/systemmessagecontent.md
- docs/components/tokenizer.md
- docs/components/toolcallstatus.md
- docs/components/tooldefinitionjson.md
- docs/components/tooldefinitionjsonfunction.md
- docs/components/toolresponsemessage.md
- docs/components/toolresponsemessagecontent.md
- docs/components/toomanyrequestsresponseerrordata.md
- docs/components/toplogprob.md
- docs/components/topproviderinfo.md
- docs/components/truncation.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/variables.md
- docs/components/videourl.md
- docs/components/websearchpreviewtooluserlocation.md
- docs/components/websearchpreviewtooluserlocationtype.md
- docs/components/websearchstatus.md
- docs/errors/badgatewayresponseerror.md
- docs/errors/badrequestresponseerror.md
- docs/errors/chaterror.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/utils/retryconfig.md
- docs/operations/apitype.md
- docs/operations/calldata.md
- docs/operations/createauthkeyscodecodechallengemethod.md
- docs/operations/createauthkeyscodedata.md
- docs/operations/createauthkeyscoderequest.md
- docs/operations/createauthkeyscoderesponse.md
- docs/operations/createcoinbasechargedata.md
- docs/operations/createcoinbasechargeresponse.md
- docs/operations/createcoinbasechargesecurity.md
- docs/operations/createembeddingsdata.md
- docs/operations/createembeddingsprovider.md
- docs/operations/createembeddingsrequest.md
- docs/operations/createembeddingsresponse.md
- docs/operations/createembeddingsresponsebody.md
- docs/operations/createkeysdata.md
- docs/operations/createkeyslimitreset.md
- docs/operations/createkeysrequest.md
- docs/operations/createkeysresponse.md
- docs/operations/createresponsesresponse.md
- docs/operations/createresponsesresponsebody.md
- docs/operations/datacollection.md
- docs/operations/deletekeysrequest.md
- docs/operations/deletekeysresponse.md
- docs/operations/embedding.md
- docs/operations/encodingformat.md
- docs/operations/encodingformatbase64.md
- docs/operations/encodingformatfloat.md
- docs/operations/exchangeauthcodeforapikeycodechallengemethod.md
- docs/operations/exchangeauthcodeforapikeyrequest.md
- docs/operations/exchangeauthcodeforapikeyresponse.md
- docs/operations/getcreditsresponse.md
- docs/operations/getcurrentkeydata.md
- docs/operations/getcurrentkeyresponse.md
- docs/operations/getgenerationdata.md
- docs/operations/getgenerationrequest.md
- docs/operations/getgenerationresponse.md
- docs/operations/getkeydata.md
- docs/operations/getkeyrequest.md
- docs/operations/getkeyresponse.md
- docs/operations/getmodelsrequest.md
- docs/operations/getparametersdata.md
- docs/operations/getparametersprovider.md
- docs/operations/getparametersrequest.md
- docs/operations/getparametersresponse.md
- docs/operations/getparameterssecurity.md
- docs/operations/getuseractivityrequest.md
- docs/operations/getuseractivityresponse.md
- docs/operations/ignore.md
- docs/operations/input.md
- docs/operations/listdata.md
- docs/operations/listendpointsrequest.md
- docs/operations/listendpointsresponse.md
- docs/operations/listendpointszdrresponse.md
- docs/operations/listmodelsusersecurity.md
- docs/operations/listprovidersdata.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/ratelimit.md
- docs/operations/sendchatcompletionrequestresponse.md
- docs/operations/sort.md
- docs/operations/supportedparameter.md
- docs/operations/transferintent.md
- docs/operations/updatekeysdata.md
- docs/operations/updatekeyslimitreset.md
- docs/operations/updatekeysrequest.md
- docs/operations/updatekeysrequestbody.md
- docs/operations/updatekeysresponse.md
- docs/operations/usage.md
- docs/operations/web3data.md
- docs/sdks/analytics/README.md
- docs/sdks/apikeys/README.md
- docs/sdks/chat/README.md
- docs/sdks/completions/README.md
- docs/sdks/credits/README.md
- docs/sdks/embeddings/README.md
- docs/sdks/endpoints/README.md
- docs/sdks/generations/README.md
- docs/sdks/models/README.md
- docs/sdks/oauth/README.md
- docs/sdks/parameters/README.md
- docs/sdks/providers/README.md
- docs/sdks/responses/README.md
- py.typed
- pyproject.toml
- scripts/prepare_readme.py
- scripts/publish.sh
- src/openrouter/__init__.py
- src/openrouter/_hooks/__init__.py
- src/openrouter/_hooks/sdkhooks.py
- src/openrouter/_hooks/types.py
- src/openrouter/_version.py
- src/openrouter/analytics.py
- src/openrouter/api_keys.py
- src/openrouter/basesdk.py
- src/openrouter/beta.py
- src/openrouter/chat.py
- src/openrouter/completions.py
- src/openrouter/components/__init__.py
- src/openrouter/components/activityitem.py
- src/openrouter/components/assistantmessage.py
- src/openrouter/components/badgatewayresponseerrordata.py
- src/openrouter/components/badrequestresponseerrordata.py
- src/openrouter/components/chatcompletionfinishreason.py
- src/openrouter/components/chaterror.py
- src/openrouter/components/chatgenerationparams.py
- src/openrouter/components/chatgenerationtokenusage.py
- src/openrouter/components/chatmessagecontentitem.py
- src/openrouter/components/chatmessagecontentitemaudio.py
- src/openrouter/components/chatmessagecontentitemimage.py
- src/openrouter/components/chatmessagecontentitemtext.py
- src/openrouter/components/chatmessagecontentitemvideo.py
- src/openrouter/components/chatmessagetokenlogprob.py
- src/openrouter/components/chatmessagetokenlogprobs.py
- src/openrouter/components/chatmessagetoolcall.py
- src/openrouter/components/chatresponse.py
- src/openrouter/components/chatresponsechoice.py
- src/openrouter/components/chatstreamingchoice.py
- src/openrouter/components/chatstreamingmessagechunk.py
- src/openrouter/components/chatstreamingmessagetoolcall.py
- src/openrouter/components/chatstreamingresponsechunk.py
- src/openrouter/components/chatstreamoptions.py
- src/openrouter/components/completionchoice.py
- src/openrouter/components/completioncreateparams.py
- src/openrouter/components/completionlogprobs.py
- src/openrouter/components/completionresponse.py
- src/openrouter/components/completionusage.py
- src/openrouter/components/createchargerequest.py
- src/openrouter/components/defaultparameters.py
- src/openrouter/components/edgenetworktimeoutresponseerrordata.py
- src/openrouter/components/endpointstatus.py
- src/openrouter/components/filecitation.py
- src/openrouter/components/filepath.py
- src/openrouter/components/forbiddenresponseerrordata.py
- src/openrouter/components/imagegenerationstatus.py
- src/openrouter/components/inputmodality.py
- src/openrouter/components/instructtype.py
- src/openrouter/components/internalserverresponseerrordata.py
- src/openrouter/components/jsonschemaconfig.py
- src/openrouter/components/listendpointsresponse.py
- src/openrouter/components/message.py
- src/openrouter/components/model.py
- src/openrouter/components/modelarchitecture.py
- src/openrouter/components/modelgroup.py
- src/openrouter/components/modelscountresponse.py
- src/openrouter/components/modelslistresponse.py
- src/openrouter/components/namedtoolchoice.py
- src/openrouter/components/notfoundresponseerrordata.py
- src/openrouter/components/openairesponsesannotation.py
- src/openrouter/components/openairesponsesincludable.py
- src/openrouter/components/openairesponsesincompletedetails.py
- src/openrouter/components/openairesponsesinput_union.py
- src/openrouter/components/openairesponsesprompt.py
- src/openrouter/components/openairesponsesreasoningconfig.py
- src/openrouter/components/openairesponsesreasoningeffort.py
- src/openrouter/components/openairesponsesrefusalcontent.py
- src/openrouter/components/openairesponsesresponsestatus.py
- src/openrouter/components/openairesponsesservicetier.py
- src/openrouter/components/openairesponsestoolchoice_union.py
- src/openrouter/components/openairesponsestruncation.py
- src/openrouter/components/openresponseseasyinputmessage.py
- src/openrouter/components/openresponseserrorevent.py
- src/openrouter/components/openresponsesfunctioncalloutput.py
- src/openrouter/components/openresponsesfunctiontoolcall.py
- src/openrouter/components/openresponsesimagegencallcompleted.py
- src/openrouter/components/openresponsesimagegencallgenerating.py
- src/openrouter/components/openresponsesimagegencallinprogress.py
- src/openrouter/components/openresponsesimagegencallpartialimage.py
- src/openrouter/components/openresponsesinput.py
- src/openrouter/components/openresponsesinputmessageitem.py
- src/openrouter/components/openresponseslogprobs.py
- src/openrouter/components/openresponsesnonstreamingresponse.py
- src/openrouter/components/openresponsesreasoning.py
- src/openrouter/components/openresponsesreasoningconfig.py
- src/openrouter/components/openresponsesreasoningdeltaevent.py
- src/openrouter/components/openresponsesreasoningdoneevent.py
- src/openrouter/components/openresponsesreasoningsummarypartaddedevent.py
- src/openrouter/components/openresponsesreasoningsummarytextdeltaevent.py
- src/openrouter/components/openresponsesreasoningsummarytextdoneevent.py
- src/openrouter/components/openresponsesrequest.py
- src/openrouter/components/openresponsesresponsetext.py
- src/openrouter/components/openresponsesstreamevent.py
- src/openrouter/components/openresponsestoplogprobs.py
- src/openrouter/components/openresponsesusage.py
- src/openrouter/components/openresponseswebsearch20250826tool.py
- src/openrouter/components/openresponseswebsearchpreview20250311tool.py
- src/openrouter/components/openresponseswebsearchpreviewtool.py
- src/openrouter/components/openresponseswebsearchtool.py
- src/openrouter/components/outputitemimagegenerationcall.py
- src/openrouter/components/outputmessage.py
- src/openrouter/components/outputmodality.py
- src/openrouter/components/parameter.py
- src/openrouter/components/payloadtoolargeresponseerrordata.py
- src/openrouter/components/paymentrequiredresponseerrordata.py
- src/openrouter/components/perrequestlimits.py
- src/openrouter/components/providername.py
- src/openrouter/components/provideroverloadedresponseerrordata.py
- src/openrouter/components/publicendpoint.py
- src/openrouter/components/publicpricing.py
- src/openrouter/components/quantization.py
- src/openrouter/components/reasoningsummarytext.py
- src/openrouter/components/reasoningsummaryverbosity.py
- src/openrouter/components/reasoningtextcontent.py
- src/openrouter/components/requesttimeoutresponseerrordata.py
- src/openrouter/components/responseformatjsonschema.py
- src/openrouter/components/responseformattextconfig.py
- src/openrouter/components/responseformattextgrammar.py
- src/openrouter/components/responseinputaudio.py
- src/openrouter/components/responseinputfile.py
- src/openrouter/components/responseinputimage.py
- src/openrouter/components/responseinputtext.py
- src/openrouter/components/responseoutputtext.py
- src/openrouter/components/responseserrorfield.py
- src/openrouter/components/responsesformatjsonobject.py
- src/openrouter/components/responsesformattext.py
- src/openrouter/components/responsesformattextjsonschemaconfig.py
- src/openrouter/components/responsesimagegenerationcall.py
- src/openrouter/components/responsesoutputitem.py
- src/openrouter/components/responsesoutputitemfilesearchcall.py
- src/openrouter/components/responsesoutputitemfunctioncall.py
- src/openrouter/components/responsesoutputitemreasoning.py
- src/openrouter/components/responsesoutputmessage.py
- src/openrouter/components/responsessearchcontextsize.py
- src/openrouter/components/responseswebsearchcalloutput.py
- src/openrouter/components/responseswebsearchuserlocation.py
- src/openrouter/components/responsetextconfig.py
- src/openrouter/components/security.py
- src/openrouter/components/serviceunavailableresponseerrordata.py
- src/openrouter/components/systemmessage.py
- src/openrouter/components/toolcallstatus.py
- src/openrouter/components/tooldefinitionjson.py
- src/openrouter/components/toolresponsemessage.py
- src/openrouter/components/toomanyrequestsresponseerrordata.py
- src/openrouter/components/topproviderinfo.py
- src/openrouter/components/unauthorizedresponseerrordata.py
- src/openrouter/components/unprocessableentityresponseerrordata.py
- src/openrouter/components/urlcitation.py
- src/openrouter/components/usermessage.py
- src/openrouter/components/websearchpreviewtooluserlocation.py
- src/openrouter/components/websearchstatus.py
- src/openrouter/credits.py
- src/openrouter/embeddings.py
- src/openrouter/endpoints.py
- src/openrouter/errors/__init__.py
- src/openrouter/errors/badgatewayresponse_error.py
- src/openrouter/errors/badrequestresponse_error.py
- src/openrouter/errors/chaterror.py
- src/openrouter/errors/edgenetworktimeoutresponse_error.py
- src/openrouter/errors/forbiddenresponse_error.py
- src/openrouter/errors/internalserverresponse_error.py
- src/openrouter/errors/no_response_error.py
- src/openrouter/errors/notfoundresponse_error.py
- src/openrouter/errors/openrouterdefaulterror.py
- src/openrouter/errors/openroutererror.py
- src/openrouter/errors/payloadtoolargeresponse_error.py
- src/openrouter/errors/paymentrequiredresponse_error.py
- src/openrouter/errors/provideroverloadedresponse_error.py
- src/openrouter/errors/requesttimeoutresponse_error.py
- src/openrouter/errors/responsevalidationerror.py
- src/openrouter/errors/serviceunavailableresponse_error.py
- src/openrouter/errors/toomanyrequestsresponse_error.py
- src/openrouter/errors/unauthorizedresponse_error.py
- src/openrouter/errors/unprocessableentityresponse_error.py
- src/openrouter/generations.py
- src/openrouter/httpclient.py
- src/openrouter/models_.py
- src/openrouter/oauth.py
- src/openrouter/operations/__init__.py
- src/openrouter/operations/createauthkeyscode.py
- src/openrouter/operations/createcoinbasecharge.py
- src/openrouter/operations/createembeddings.py
- src/openrouter/operations/createkeys.py
- src/openrouter/operations/createresponses.py
- src/openrouter/operations/deletekeys.py
- src/openrouter/operations/exchangeauthcodeforapikey.py
- src/openrouter/operations/getcredits.py
- src/openrouter/operations/getcurrentkey.py
- src/openrouter/operations/getgeneration.py
- src/openrouter/operations/getkey.py
- src/openrouter/operations/getmodels.py
- src/openrouter/operations/getparameters.py
- src/openrouter/operations/getuseractivity.py
- src/openrouter/operations/list.py
- src/openrouter/operations/listendpoints.py
- src/openrouter/operations/listendpointszdr.py
- src/openrouter/operations/listmodelsuser.py
- src/openrouter/operations/listproviders.py
- src/openrouter/operations/sendchatcompletionrequest.py
- src/openrouter/operations/updatekeys.py
- src/openrouter/parameters.py
- src/openrouter/providers.py
- src/openrouter/py.typed
- src/openrouter/responses.py
- src/openrouter/sdk.py
- src/openrouter/sdkconfiguration.py
- src/openrouter/types/__init__.py
- src/openrouter/types/basemodel.py
- src/openrouter/utils/__init__.py
- src/openrouter/utils/annotations.py
- src/openrouter/utils/datetimes.py
- src/openrouter/utils/enums.py
- src/openrouter/utils/eventstreaming.py
- src/openrouter/utils/forms.py
- src/openrouter/utils/headers.py
- src/openrouter/utils/logger.py
- src/openrouter/utils/metadata.py
- src/openrouter/utils/queryparams.py
- src/openrouter/utils/requestbodies.py
- src/openrouter/utils/retries.py
- src/openrouter/utils/security.py
- src/openrouter/utils/serializers.py
- src/openrouter/utils/unmarshal_json_response.py
- src/openrouter/utils/url.py
- src/openrouter/utils/values.py
examples:
createResponses:
speakeasy-default-create-responses:
requestBody:
application/json: {"input": [{"type": "message", "role": "user", "content": "Hello, how are you?"}], "tools": [{"type": "function", "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": {"type": "object", "properties": {"location": {"type": "string"}}}}], "model": "anthropic/claude-4.5-sonnet-20250929", "temperature": 0.7, "top_p": 0.9, "stream": false}
responses:
"200":
application/json: {"id": "resp-abc123", "object": "response", "created_at": 1704067200, "model": "gpt-4", "status": "completed", "output": [{"id": "msg-abc123", "role": "assistant", "type": "message", "status": "completed", "content": [{"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}]}], "error": null, "incomplete_details": null, "usage": {"input_tokens": 10, "input_tokens_details": {"cached_tokens": 0}, "output_tokens": 25, "output_tokens_details": {"reasoning_tokens": 0}, "total_tokens": 35}, "max_output_tokens": null, "temperature": null, "top_p": null, "instructions": null, "metadata": null, "tools": [], "tool_choice": "auto", "parallel_tool_calls": true}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"402":
application/json: {"error": {"code": 402, "message": "Insufficient credits. Add more using https://openrouter.ai/credits"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"408":
application/json: {"error": {"code": 408, "message": "Operation timed out. Please try again later."}}
"413":
application/json: {"error": {"code": 413, "message": "Request payload too large"}}
"422":
application/json: {"error": {"code": 422, "message": "Invalid argument"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
"502":
application/json: {"error": {"code": 502, "message": "Provider returned error"}}
"503":
application/json: {"error": {"code": 503, "message": "Service temporarily unavailable"}}
"524":
application/json: {"error": {"code": 524, "message": "Request timed out. Please try again later."}}
"529":
application/json: {"error": {"code": 529, "message": "Provider returned error"}}
getUserActivity:
speakeasy-default-get-user-activity:
parameters:
query:
date: "2025-08-24"
responses:
"200":
application/json: {"data": [{"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}]}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"403":
application/json: {"error": {"code": 403, "message": "Only provisioning keys can perform this operation"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getCredits:
speakeasy-default-get-credits:
responses:
"200":
application/json: {}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"403":
application/json: {"error": {"code": 403, "message": "Only provisioning keys can perform this operation"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
createCoinbaseCharge:
speakeasy-default-create-coinbase-charge:
requestBody:
application/json: {"amount": 100, "sender": "0x1234567890123456789012345678901234567890", "chain_id": 1}
responses:
"200":
application/json: {"data": {"id": "<id>", "created_at": "1706396327532", "expires_at": "1739956049454", "web3_data": {"transfer_intent": {"call_data": {"deadline": "<value>", "fee_amount": "<value>", "id": "<id>", "operator": "<value>", "prefix": "<value>", "recipient": "<value>", "recipient_amount": "<value>", "recipient_currency": "<value>", "refund_destination": "<value>", "signature": "<value>"}, "metadata": {"chain_id": 3470.69, "contract_address": "<value>", "sender": "<value>"}}}}}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
createEmbeddings:
speakeasy-default-create-embeddings:
requestBody:
application/json: {"input": "<value>", "model": "Taurus", "provider": {"data_collection": "deny", "zdr": true, "enforce_distillable_text": true, "order": ["OpenAI"], "only": ["OpenAI"], "ignore": ["OpenAI"], "quantizations": ["fp16"], "sort": "price"}}
responses:
"200":
application/json: {"object": "list", "data": [], "model": "Land Cruiser"}
text/event-stream: "<value>"
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"402":
application/json: {"error": {"code": 402, "message": "Insufficient credits. Add more using https://openrouter.ai/credits"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
"502":
application/json: {"error": {"code": 502, "message": "Provider returned error"}}
"503":
application/json: {"error": {"code": 503, "message": "Service temporarily unavailable"}}
"524":
application/json: {"error": {"code": 524, "message": "Request timed out. Please try again later."}}
"529":
application/json: {"error": {"code": 529, "message": "Provider returned error"}}
listEmbeddingsModels:
speakeasy-default-list-embeddings-models:
responses:
"200":
application/json: {"data": [{"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}]}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getGeneration:
speakeasy-default-get-generation:
parameters:
query:
id: "<id>"
responses:
"200":
application/json: {"data": {"id": "gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG", "upstream_id": "chatcmpl-791bcf62-080e-4568-87d0-94c72e3b4946", "total_cost": 0.0015, "cache_discount": 0.0002, "upstream_inference_cost": 0.0012, "created_at": "2024-07-15T23:33:19.433273+00:00", "model": "sao10k/l3-stheno-8b", "app_id": 12345, "streamed": true, "cancelled": false, "provider_name": "Infermatic", "latency": 1250, "moderation_latency": 50, "generation_time": 1200, "finish_reason": "stop", "tokens_prompt": 10, "tokens_completion": 25, "native_tokens_prompt": 10, "native_tokens_completion": 25, "native_tokens_completion_images": 0, "native_tokens_reasoning": 5, "native_tokens_cached": 3, "num_media_prompt": 1, "num_input_audio_prompt": 0, "num_media_completion": 0, "num_search_results": 5, "origin": "https://openrouter.ai/", "usage": 0.0015, "is_byok": false, "native_finish_reason": "stop", "external_user": "user-123", "api_type": "completions"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"402":
application/json: {"error": {"code": 402, "message": "Insufficient credits. Add more using https://openrouter.ai/credits"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
"502":
application/json: {"error": {"code": 502, "message": "Provider returned error"}}
"524":
application/json: {"error": {"code": 524, "message": "Request timed out. Please try again later."}}
"529":
application/json: {"error": {"code": 529, "message": "Provider returned error"}}
listModelsCount:
speakeasy-default-list-models-count:
responses:
"200":
application/json: {"data": {"count": 150}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getModels:
speakeasy-default-get-models:
responses:
"200":
application/json: {"data": [{"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}]}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
listModelsUser:
speakeasy-default-list-models-user:
responses:
"200":
application/json: {"data": [{"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}]}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
listEndpoints:
speakeasy-default-list-endpoints:
parameters:
path:
author: "<value>"
slug: "<value>"
responses:
"200":
application/json: {"data": {"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->text", "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": -3, "uptime_last_30m": 99.5, "supports_implicit_caching": true}]}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
listEndpointsZdr:
speakeasy-default-list-endpoints-zdr:
responses:
"200":
application/json: {"data": [{"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"], "status": 0, "uptime_last_30m": 99.5, "supports_implicit_caching": true}]}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getParameters:
speakeasy-default-get-parameters:
parameters:
path:
author: "<value>"
slug: "<value>"
responses:
"200":
application/json: {"data": {"model": "openai/gpt-4", "supported_parameters": ["temperature", "top_p", "max_tokens"]}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
listProviders:
speakeasy-default-list-providers:
responses:
"200":
application/json: {"data": [{"name": "OpenAI", "slug": "openai", "privacy_policy_url": "https://openai.com/privacy", "terms_of_service_url": "https://openai.com/terms", "status_page_url": "https://status.openai.com"}]}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
list:
speakeasy-default-list:
parameters:
query:
include_disabled: "false"
offset: "0"
responses:
"200":
application/json: {"data": [{"hash": "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", "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"}]}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
createKeys:
speakeasy-default-create-keys:
requestBody:
application/json: {"name": "My New API Key", "limit": 50, "limit_reset": "monthly", "include_byok_in_limit": true, "expires_at": "2027-12-31T23:59:59Z"}
responses:
"201":
application/json: {"data": {"hash": "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", "name": "My New API Key", "label": "My New API Key", "disabled": false, "limit": 50, "limit_remaining": 50, "limit_reset": "monthly", "include_byok_in_limit": true, "usage": 0, "usage_daily": 0, "usage_weekly": 0, "usage_monthly": 0, "byok_usage": 0, "byok_usage_daily": 0, "byok_usage_weekly": 0, "byok_usage_monthly": 0, "created_at": "2025-08-24T10:30:00Z", "updated_at": null, "expires_at": "2027-12-31T23:59:59Z"}, "key": "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"}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
updateKeys:
speakeasy-default-update-keys:
parameters:
path:
hash: "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"
requestBody:
application/json: {"name": "Updated API Key Name", "disabled": false, "limit": 75, "limit_reset": "daily", "include_byok_in_limit": true}
responses:
"200":
application/json: {"data": {"hash": "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", "name": "Updated API Key Name", "label": "Updated API Key Name", "disabled": false, "limit": 75, "limit_remaining": 49.5, "limit_reset": "daily", "include_byok_in_limit": true, "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-24T16:00:00Z", "expires_at": null}}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
deleteKeys:
speakeasy-default-delete-keys:
parameters:
path:
hash: "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"
responses:
"200":
application/json: {"deleted": true}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getKey:
speakeasy-default-get-key:
parameters:
path:
hash: "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"
responses:
"200":
application/json: {"data": {"hash": "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", "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"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"404":
application/json: {"error": {"code": 404, "message": "Resource not found"}}
"429":
application/json: {"error": {"code": 429, "message": "Rate limit exceeded"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
getCurrentKey:
speakeasy-default-get-current-key:
responses:
"200":
application/json: {"data": {"label": "sk-or-v1-au78b3456789012345678901234567890", "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_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."}}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
exchangeAuthCodeForAPIKey:
speakeasy-default-exchange-auth-code-for-API-key:
requestBody:
application/json: {"code": "auth_code_abc123def456", "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", "code_challenge_method": "S256"}
responses:
"200":
application/json: {"key": "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", "user_id": "user_2yOPcMpKoQhcd4bVgSMlELRaIah"}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"403":
application/json: {"error": {"code": 403, "message": "Only provisioning keys can perform this operation"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
createAuthKeysCode:
speakeasy-default-create-auth-keys-code:
requestBody:
application/json: {"callback_url": "https://myapp.com/auth/callback", "code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", "code_challenge_method": "S256", "limit": 100}
responses:
"200":
application/json: {"data": {"id": "auth_code_xyz789", "app_id": 12345, "created_at": "2025-08-24T10:30:00Z"}}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
sendChatCompletionRequest:
speakeasy-default-send-chat-completion-request:
requestBody:
application/json: {"messages": [], "stream": false}
responses:
"200":
application/json: {"id": "<id>", "choices": [], "created": 6524.91, "model": "Silverado", "object": "chat.completion"}
"400":
application/json: {"error": {"code": "<value>", "message": "<value>"}}
"500":
application/json: {"error": {"code": "<value>", "message": "<value>"}}
createCompletions:
speakeasy-default-create-completions:
requestBody:
application/json: {"prompt": [], "stream": false}
responses:
"200":
application/json: {"id": "<id>", "object": "text_completion", "created": 7524.07, "model": "Aventador", "choices": [{"text": "<value>", "index": 4622.44, "logprobs": {"tokens": [], "token_logprobs": [], "top_logprobs": [{"key": 6481.8, "key1": 6211.86, "key2": 4822.58}, {}, {"key": 6295.32, "key1": 8110.56, "key2": 5430.28}], "text_offset": [8533.93, 4728.06, 5798.08]}, "finish_reason": "length"}]}
"400":
application/json: {"error": {"code": "<value>", "message": "<value>"}}
"500":
application/json: {"error": {"code": "<value>", "message": "<value>"}}
examplesVersion: 1.0.2