JSPM

  • Created
  • Published
  • Downloads 324070
  • Score
    100M100P100Q176795F
  • License Apache-2.0

The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 300+ language models through a unified API.

Package Exports

  • @openrouter/sdk
  • @openrouter/sdk/core
  • @openrouter/sdk/core.js
  • @openrouter/sdk/funcs/analyticsGetUserActivity
  • @openrouter/sdk/funcs/analyticsGetUserActivity.js
  • @openrouter/sdk/funcs/apiKeysCreate
  • @openrouter/sdk/funcs/apiKeysCreate.js
  • @openrouter/sdk/funcs/apiKeysDelete
  • @openrouter/sdk/funcs/apiKeysDelete.js
  • @openrouter/sdk/funcs/apiKeysGet
  • @openrouter/sdk/funcs/apiKeysGet.js
  • @openrouter/sdk/funcs/apiKeysGetCurrentKeyMetadata
  • @openrouter/sdk/funcs/apiKeysGetCurrentKeyMetadata.js
  • @openrouter/sdk/funcs/apiKeysList
  • @openrouter/sdk/funcs/apiKeysList.js
  • @openrouter/sdk/funcs/apiKeysUpdate
  • @openrouter/sdk/funcs/apiKeysUpdate.js
  • @openrouter/sdk/funcs/betaResponsesSend
  • @openrouter/sdk/funcs/betaResponsesSend.js
  • @openrouter/sdk/funcs/call-model
  • @openrouter/sdk/funcs/call-model.js
  • @openrouter/sdk/funcs/chatSend
  • @openrouter/sdk/funcs/chatSend.js
  • @openrouter/sdk/funcs/creditsCreateCoinbaseCharge
  • @openrouter/sdk/funcs/creditsCreateCoinbaseCharge.js
  • @openrouter/sdk/funcs/creditsGetCredits
  • @openrouter/sdk/funcs/creditsGetCredits.js
  • @openrouter/sdk/funcs/embeddingsGenerate
  • @openrouter/sdk/funcs/embeddingsGenerate.js
  • @openrouter/sdk/funcs/embeddingsListModels
  • @openrouter/sdk/funcs/embeddingsListModels.js
  • @openrouter/sdk/funcs/endpointsList
  • @openrouter/sdk/funcs/endpointsList.js
  • @openrouter/sdk/funcs/endpointsListZdrEndpoints
  • @openrouter/sdk/funcs/endpointsListZdrEndpoints.js
  • @openrouter/sdk/funcs/generationsGetGeneration
  • @openrouter/sdk/funcs/generationsGetGeneration.js
  • @openrouter/sdk/funcs/guardrailsBulkAssignKeys
  • @openrouter/sdk/funcs/guardrailsBulkAssignKeys.js
  • @openrouter/sdk/funcs/guardrailsBulkAssignMembers
  • @openrouter/sdk/funcs/guardrailsBulkAssignMembers.js
  • @openrouter/sdk/funcs/guardrailsBulkUnassignKeys
  • @openrouter/sdk/funcs/guardrailsBulkUnassignKeys.js
  • @openrouter/sdk/funcs/guardrailsBulkUnassignMembers
  • @openrouter/sdk/funcs/guardrailsBulkUnassignMembers.js
  • @openrouter/sdk/funcs/guardrailsCreate
  • @openrouter/sdk/funcs/guardrailsCreate.js
  • @openrouter/sdk/funcs/guardrailsDelete
  • @openrouter/sdk/funcs/guardrailsDelete.js
  • @openrouter/sdk/funcs/guardrailsGet
  • @openrouter/sdk/funcs/guardrailsGet.js
  • @openrouter/sdk/funcs/guardrailsList
  • @openrouter/sdk/funcs/guardrailsList.js
  • @openrouter/sdk/funcs/guardrailsListGuardrailKeyAssignments
  • @openrouter/sdk/funcs/guardrailsListGuardrailKeyAssignments.js
  • @openrouter/sdk/funcs/guardrailsListGuardrailMemberAssignments
  • @openrouter/sdk/funcs/guardrailsListGuardrailMemberAssignments.js
  • @openrouter/sdk/funcs/guardrailsListKeyAssignments
  • @openrouter/sdk/funcs/guardrailsListKeyAssignments.js
  • @openrouter/sdk/funcs/guardrailsListMemberAssignments
  • @openrouter/sdk/funcs/guardrailsListMemberAssignments.js
  • @openrouter/sdk/funcs/guardrailsUpdate
  • @openrouter/sdk/funcs/guardrailsUpdate.js
  • @openrouter/sdk/funcs/modelsCount
  • @openrouter/sdk/funcs/modelsCount.js
  • @openrouter/sdk/funcs/modelsList
  • @openrouter/sdk/funcs/modelsList.js
  • @openrouter/sdk/funcs/modelsListForUser
  • @openrouter/sdk/funcs/modelsListForUser.js
  • @openrouter/sdk/funcs/oAuthCreateAuthCode
  • @openrouter/sdk/funcs/oAuthCreateAuthCode.js
  • @openrouter/sdk/funcs/oAuthCreateAuthorizationUrl
  • @openrouter/sdk/funcs/oAuthCreateAuthorizationUrl.js
  • @openrouter/sdk/funcs/oAuthCreateSHA256CodeChallenge
  • @openrouter/sdk/funcs/oAuthCreateSHA256CodeChallenge.js
  • @openrouter/sdk/funcs/oAuthExchangeAuthCodeForAPIKey
  • @openrouter/sdk/funcs/oAuthExchangeAuthCodeForAPIKey.js
  • @openrouter/sdk/funcs/providersList
  • @openrouter/sdk/funcs/providersList.js
  • @openrouter/sdk/hooks/hooks
  • @openrouter/sdk/hooks/hooks.js
  • @openrouter/sdk/hooks/index
  • @openrouter/sdk/hooks/index.js
  • @openrouter/sdk/hooks/registration
  • @openrouter/sdk/hooks/registration.js
  • @openrouter/sdk/hooks/types
  • @openrouter/sdk/hooks/types.js
  • @openrouter/sdk/index
  • @openrouter/sdk/index.js
  • @openrouter/sdk/lib/anthropic-compat
  • @openrouter/sdk/lib/anthropic-compat.js
  • @openrouter/sdk/lib/anthropic-compat.test
  • @openrouter/sdk/lib/anthropic-compat.test.js
  • @openrouter/sdk/lib/async-params
  • @openrouter/sdk/lib/async-params.js
  • @openrouter/sdk/lib/base64
  • @openrouter/sdk/lib/base64.js
  • @openrouter/sdk/lib/chat-compat
  • @openrouter/sdk/lib/chat-compat.js
  • @openrouter/sdk/lib/chat-compat.test
  • @openrouter/sdk/lib/chat-compat.test.js
  • @openrouter/sdk/lib/claude-constants
  • @openrouter/sdk/lib/claude-constants.js
  • @openrouter/sdk/lib/claude-type-guards
  • @openrouter/sdk/lib/claude-type-guards.js
  • @openrouter/sdk/lib/config
  • @openrouter/sdk/lib/config.js
  • @openrouter/sdk/lib/conversation-state
  • @openrouter/sdk/lib/conversation-state.js
  • @openrouter/sdk/lib/dlv
  • @openrouter/sdk/lib/dlv.js
  • @openrouter/sdk/lib/encodings
  • @openrouter/sdk/lib/encodings.js
  • @openrouter/sdk/lib/env
  • @openrouter/sdk/lib/env.js
  • @openrouter/sdk/lib/event-streams
  • @openrouter/sdk/lib/event-streams.js
  • @openrouter/sdk/lib/files
  • @openrouter/sdk/lib/files.js
  • @openrouter/sdk/lib/http
  • @openrouter/sdk/lib/http.js
  • @openrouter/sdk/lib/is-plain-object
  • @openrouter/sdk/lib/is-plain-object.js
  • @openrouter/sdk/lib/logger
  • @openrouter/sdk/lib/logger.js
  • @openrouter/sdk/lib/matchers
  • @openrouter/sdk/lib/matchers.js
  • @openrouter/sdk/lib/model-result
  • @openrouter/sdk/lib/model-result.js
  • @openrouter/sdk/lib/next-turn-params
  • @openrouter/sdk/lib/next-turn-params.js
  • @openrouter/sdk/lib/primitives
  • @openrouter/sdk/lib/primitives.js
  • @openrouter/sdk/lib/retries
  • @openrouter/sdk/lib/retries.js
  • @openrouter/sdk/lib/reusable-stream
  • @openrouter/sdk/lib/reusable-stream.js
  • @openrouter/sdk/lib/schemas
  • @openrouter/sdk/lib/schemas.js
  • @openrouter/sdk/lib/sdks
  • @openrouter/sdk/lib/sdks.js
  • @openrouter/sdk/lib/security
  • @openrouter/sdk/lib/security.js
  • @openrouter/sdk/lib/stop-conditions
  • @openrouter/sdk/lib/stop-conditions.js
  • @openrouter/sdk/lib/stream-transformers
  • @openrouter/sdk/lib/stream-transformers.js
  • @openrouter/sdk/lib/stream-type-guards
  • @openrouter/sdk/lib/stream-type-guards.js
  • @openrouter/sdk/lib/tool
  • @openrouter/sdk/lib/tool-event-broadcaster
  • @openrouter/sdk/lib/tool-event-broadcaster.js
  • @openrouter/sdk/lib/tool-executor
  • @openrouter/sdk/lib/tool-executor.js
  • @openrouter/sdk/lib/tool-orchestrator
  • @openrouter/sdk/lib/tool-orchestrator.js
  • @openrouter/sdk/lib/tool-types
  • @openrouter/sdk/lib/tool-types.js
  • @openrouter/sdk/lib/tool.js
  • @openrouter/sdk/lib/turn-context
  • @openrouter/sdk/lib/turn-context.js
  • @openrouter/sdk/lib/url
  • @openrouter/sdk/lib/url.js
  • @openrouter/sdk/models
  • @openrouter/sdk/models/activityitem
  • @openrouter/sdk/models/activityitem.js
  • @openrouter/sdk/models/assistantmessage
  • @openrouter/sdk/models/assistantmessage.js
  • @openrouter/sdk/models/assistantmessageimages
  • @openrouter/sdk/models/assistantmessageimages.js
  • @openrouter/sdk/models/badgatewayresponseerrordata
  • @openrouter/sdk/models/badgatewayresponseerrordata.js
  • @openrouter/sdk/models/badrequestresponseerrordata
  • @openrouter/sdk/models/badrequestresponseerrordata.js
  • @openrouter/sdk/models/chatcompletionfinishreason
  • @openrouter/sdk/models/chatcompletionfinishreason.js
  • @openrouter/sdk/models/chatgenerationparams
  • @openrouter/sdk/models/chatgenerationparams.js
  • @openrouter/sdk/models/chatgenerationtokenusage
  • @openrouter/sdk/models/chatgenerationtokenusage.js
  • @openrouter/sdk/models/chatmessagecontentitem
  • @openrouter/sdk/models/chatmessagecontentitem.js
  • @openrouter/sdk/models/chatmessagecontentitemaudio
  • @openrouter/sdk/models/chatmessagecontentitemaudio.js
  • @openrouter/sdk/models/chatmessagecontentitemcachecontrol
  • @openrouter/sdk/models/chatmessagecontentitemcachecontrol.js
  • @openrouter/sdk/models/chatmessagecontentitemimage
  • @openrouter/sdk/models/chatmessagecontentitemimage.js
  • @openrouter/sdk/models/chatmessagecontentitemtext
  • @openrouter/sdk/models/chatmessagecontentitemtext.js
  • @openrouter/sdk/models/chatmessagecontentitemvideo
  • @openrouter/sdk/models/chatmessagecontentitemvideo.js
  • @openrouter/sdk/models/chatmessagecontentitemvideolegacy
  • @openrouter/sdk/models/chatmessagecontentitemvideolegacy.js
  • @openrouter/sdk/models/chatmessagetokenlogprob
  • @openrouter/sdk/models/chatmessagetokenlogprob.js
  • @openrouter/sdk/models/chatmessagetokenlogprobs
  • @openrouter/sdk/models/chatmessagetokenlogprobs.js
  • @openrouter/sdk/models/chatmessagetoolcall
  • @openrouter/sdk/models/chatmessagetoolcall.js
  • @openrouter/sdk/models/chatresponse
  • @openrouter/sdk/models/chatresponse.js
  • @openrouter/sdk/models/chatresponsechoice
  • @openrouter/sdk/models/chatresponsechoice.js
  • @openrouter/sdk/models/chatstreamingchoice
  • @openrouter/sdk/models/chatstreamingchoice.js
  • @openrouter/sdk/models/chatstreamingmessagechunk
  • @openrouter/sdk/models/chatstreamingmessagechunk.js
  • @openrouter/sdk/models/chatstreamingmessagetoolcall
  • @openrouter/sdk/models/chatstreamingmessagetoolcall.js
  • @openrouter/sdk/models/chatstreamingresponsechunk
  • @openrouter/sdk/models/chatstreamingresponsechunk.js
  • @openrouter/sdk/models/chatstreamoptions
  • @openrouter/sdk/models/chatstreamoptions.js
  • @openrouter/sdk/models/claude-message
  • @openrouter/sdk/models/claude-message.js
  • @openrouter/sdk/models/createchargerequest
  • @openrouter/sdk/models/createchargerequest.js
  • @openrouter/sdk/models/datacollection
  • @openrouter/sdk/models/datacollection.js
  • @openrouter/sdk/models/debugoptions
  • @openrouter/sdk/models/debugoptions.js
  • @openrouter/sdk/models/defaultparameters
  • @openrouter/sdk/models/defaultparameters.js
  • @openrouter/sdk/models/developermessage
  • @openrouter/sdk/models/developermessage.js
  • @openrouter/sdk/models/edgenetworktimeoutresponseerrordata
  • @openrouter/sdk/models/edgenetworktimeoutresponseerrordata.js
  • @openrouter/sdk/models/endpointstatus
  • @openrouter/sdk/models/endpointstatus.js
  • @openrouter/sdk/models/errors
  • @openrouter/sdk/models/errors/badgatewayresponseerror
  • @openrouter/sdk/models/errors/badgatewayresponseerror.js
  • @openrouter/sdk/models/errors/badrequestresponseerror
  • @openrouter/sdk/models/errors/badrequestresponseerror.js
  • @openrouter/sdk/models/errors/edgenetworktimeoutresponseerror
  • @openrouter/sdk/models/errors/edgenetworktimeoutresponseerror.js
  • @openrouter/sdk/models/errors/forbiddenresponseerror
  • @openrouter/sdk/models/errors/forbiddenresponseerror.js
  • @openrouter/sdk/models/errors/httpclienterrors
  • @openrouter/sdk/models/errors/httpclienterrors.js
  • @openrouter/sdk/models/errors/index
  • @openrouter/sdk/models/errors/index.js
  • @openrouter/sdk/models/errors/internalserverresponseerror
  • @openrouter/sdk/models/errors/internalserverresponseerror.js
  • @openrouter/sdk/models/errors/notfoundresponseerror
  • @openrouter/sdk/models/errors/notfoundresponseerror.js
  • @openrouter/sdk/models/errors/openrouterdefaulterror
  • @openrouter/sdk/models/errors/openrouterdefaulterror.js
  • @openrouter/sdk/models/errors/openroutererror
  • @openrouter/sdk/models/errors/openroutererror.js
  • @openrouter/sdk/models/errors/payloadtoolargeresponseerror
  • @openrouter/sdk/models/errors/payloadtoolargeresponseerror.js
  • @openrouter/sdk/models/errors/paymentrequiredresponseerror
  • @openrouter/sdk/models/errors/paymentrequiredresponseerror.js
  • @openrouter/sdk/models/errors/provideroverloadedresponseerror
  • @openrouter/sdk/models/errors/provideroverloadedresponseerror.js
  • @openrouter/sdk/models/errors/requesttimeoutresponseerror
  • @openrouter/sdk/models/errors/requesttimeoutresponseerror.js
  • @openrouter/sdk/models/errors/responsevalidationerror
  • @openrouter/sdk/models/errors/responsevalidationerror.js
  • @openrouter/sdk/models/errors/sdkvalidationerror
  • @openrouter/sdk/models/errors/sdkvalidationerror.js
  • @openrouter/sdk/models/errors/serviceunavailableresponseerror
  • @openrouter/sdk/models/errors/serviceunavailableresponseerror.js
  • @openrouter/sdk/models/errors/toomanyrequestsresponseerror
  • @openrouter/sdk/models/errors/toomanyrequestsresponseerror.js
  • @openrouter/sdk/models/errors/unauthorizedresponseerror
  • @openrouter/sdk/models/errors/unauthorizedresponseerror.js
  • @openrouter/sdk/models/errors/unprocessableentityresponseerror
  • @openrouter/sdk/models/errors/unprocessableentityresponseerror.js
  • @openrouter/sdk/models/filecitation
  • @openrouter/sdk/models/filecitation.js
  • @openrouter/sdk/models/filepath
  • @openrouter/sdk/models/filepath.js
  • @openrouter/sdk/models/forbiddenresponseerrordata
  • @openrouter/sdk/models/forbiddenresponseerrordata.js
  • @openrouter/sdk/models/imagegenerationstatus
  • @openrouter/sdk/models/imagegenerationstatus.js
  • @openrouter/sdk/models/index
  • @openrouter/sdk/models/index.js
  • @openrouter/sdk/models/inputmodality
  • @openrouter/sdk/models/inputmodality.js
  • @openrouter/sdk/models/instructtype
  • @openrouter/sdk/models/instructtype.js
  • @openrouter/sdk/models/internalserverresponseerrordata
  • @openrouter/sdk/models/internalserverresponseerrordata.js
  • @openrouter/sdk/models/jsonschemaconfig
  • @openrouter/sdk/models/jsonschemaconfig.js
  • @openrouter/sdk/models/listendpointsresponse
  • @openrouter/sdk/models/listendpointsresponse.js
  • @openrouter/sdk/models/message
  • @openrouter/sdk/models/message.js
  • @openrouter/sdk/models/model
  • @openrouter/sdk/models/model.js
  • @openrouter/sdk/models/modelarchitecture
  • @openrouter/sdk/models/modelarchitecture.js
  • @openrouter/sdk/models/modelgroup
  • @openrouter/sdk/models/modelgroup.js
  • @openrouter/sdk/models/modelscountresponse
  • @openrouter/sdk/models/modelscountresponse.js
  • @openrouter/sdk/models/modelslistresponse
  • @openrouter/sdk/models/modelslistresponse.js
  • @openrouter/sdk/models/namedtoolchoice
  • @openrouter/sdk/models/namedtoolchoice.js
  • @openrouter/sdk/models/notfoundresponseerrordata
  • @openrouter/sdk/models/notfoundresponseerrordata.js
  • @openrouter/sdk/models/openairesponsesannotation
  • @openrouter/sdk/models/openairesponsesannotation.js
  • @openrouter/sdk/models/openairesponsesincludable
  • @openrouter/sdk/models/openairesponsesincludable.js
  • @openrouter/sdk/models/openairesponsesincompletedetails
  • @openrouter/sdk/models/openairesponsesincompletedetails.js
  • @openrouter/sdk/models/openairesponsesinputunion
  • @openrouter/sdk/models/openairesponsesinputunion.js
  • @openrouter/sdk/models/openairesponsesprompt
  • @openrouter/sdk/models/openairesponsesprompt.js
  • @openrouter/sdk/models/openairesponsesreasoningconfig
  • @openrouter/sdk/models/openairesponsesreasoningconfig.js
  • @openrouter/sdk/models/openairesponsesreasoningeffort
  • @openrouter/sdk/models/openairesponsesreasoningeffort.js
  • @openrouter/sdk/models/openairesponsesrefusalcontent
  • @openrouter/sdk/models/openairesponsesrefusalcontent.js
  • @openrouter/sdk/models/openairesponsesresponsestatus
  • @openrouter/sdk/models/openairesponsesresponsestatus.js
  • @openrouter/sdk/models/openairesponsesservicetier
  • @openrouter/sdk/models/openairesponsesservicetier.js
  • @openrouter/sdk/models/openairesponsestoolchoiceunion
  • @openrouter/sdk/models/openairesponsestoolchoiceunion.js
  • @openrouter/sdk/models/openairesponsestruncation
  • @openrouter/sdk/models/openairesponsestruncation.js
  • @openrouter/sdk/models/openresponseseasyinputmessage
  • @openrouter/sdk/models/openresponseseasyinputmessage.js
  • @openrouter/sdk/models/openresponseserrorevent
  • @openrouter/sdk/models/openresponseserrorevent.js
  • @openrouter/sdk/models/openresponsesfunctioncalloutput
  • @openrouter/sdk/models/openresponsesfunctioncalloutput.js
  • @openrouter/sdk/models/openresponsesfunctiontoolcall
  • @openrouter/sdk/models/openresponsesfunctiontoolcall.js
  • @openrouter/sdk/models/openresponsesimagegencallcompleted
  • @openrouter/sdk/models/openresponsesimagegencallcompleted.js
  • @openrouter/sdk/models/openresponsesimagegencallgenerating
  • @openrouter/sdk/models/openresponsesimagegencallgenerating.js
  • @openrouter/sdk/models/openresponsesimagegencallinprogress
  • @openrouter/sdk/models/openresponsesimagegencallinprogress.js
  • @openrouter/sdk/models/openresponsesimagegencallpartialimage
  • @openrouter/sdk/models/openresponsesimagegencallpartialimage.js
  • @openrouter/sdk/models/openresponsesinput
  • @openrouter/sdk/models/openresponsesinput.js
  • @openrouter/sdk/models/openresponsesinputmessageitem
  • @openrouter/sdk/models/openresponsesinputmessageitem.js
  • @openrouter/sdk/models/openresponseslogprobs
  • @openrouter/sdk/models/openresponseslogprobs.js
  • @openrouter/sdk/models/openresponsesnonstreamingresponse
  • @openrouter/sdk/models/openresponsesnonstreamingresponse.js
  • @openrouter/sdk/models/openresponsesreasoning
  • @openrouter/sdk/models/openresponsesreasoning.js
  • @openrouter/sdk/models/openresponsesreasoningconfig
  • @openrouter/sdk/models/openresponsesreasoningconfig.js
  • @openrouter/sdk/models/openresponsesreasoningdeltaevent
  • @openrouter/sdk/models/openresponsesreasoningdeltaevent.js
  • @openrouter/sdk/models/openresponsesreasoningdoneevent
  • @openrouter/sdk/models/openresponsesreasoningdoneevent.js
  • @openrouter/sdk/models/openresponsesreasoningsummarypartaddedevent
  • @openrouter/sdk/models/openresponsesreasoningsummarypartaddedevent.js
  • @openrouter/sdk/models/openresponsesreasoningsummarytextdeltaevent
  • @openrouter/sdk/models/openresponsesreasoningsummarytextdeltaevent.js
  • @openrouter/sdk/models/openresponsesreasoningsummarytextdoneevent
  • @openrouter/sdk/models/openresponsesreasoningsummarytextdoneevent.js
  • @openrouter/sdk/models/openresponsesrequest
  • @openrouter/sdk/models/openresponsesrequest.js
  • @openrouter/sdk/models/openresponsesresponsetext
  • @openrouter/sdk/models/openresponsesresponsetext.js
  • @openrouter/sdk/models/openresponsesstreamevent
  • @openrouter/sdk/models/openresponsesstreamevent.js
  • @openrouter/sdk/models/openresponsestoplogprobs
  • @openrouter/sdk/models/openresponsestoplogprobs.js
  • @openrouter/sdk/models/openresponsesusage
  • @openrouter/sdk/models/openresponsesusage.js
  • @openrouter/sdk/models/openresponseswebsearch20250826tool
  • @openrouter/sdk/models/openresponseswebsearch20250826tool.js
  • @openrouter/sdk/models/openresponseswebsearchpreview20250311tool
  • @openrouter/sdk/models/openresponseswebsearchpreview20250311tool.js
  • @openrouter/sdk/models/openresponseswebsearchpreviewtool
  • @openrouter/sdk/models/openresponseswebsearchpreviewtool.js
  • @openrouter/sdk/models/openresponseswebsearchtool
  • @openrouter/sdk/models/openresponseswebsearchtool.js
  • @openrouter/sdk/models/operations
  • @openrouter/sdk/models/operations/bulkassignkeystoguardrail
  • @openrouter/sdk/models/operations/bulkassignkeystoguardrail.js
  • @openrouter/sdk/models/operations/bulkassignmemberstoguardrail
  • @openrouter/sdk/models/operations/bulkassignmemberstoguardrail.js
  • @openrouter/sdk/models/operations/bulkunassignkeysfromguardrail
  • @openrouter/sdk/models/operations/bulkunassignkeysfromguardrail.js
  • @openrouter/sdk/models/operations/bulkunassignmembersfromguardrail
  • @openrouter/sdk/models/operations/bulkunassignmembersfromguardrail.js
  • @openrouter/sdk/models/operations/createauthkeyscode
  • @openrouter/sdk/models/operations/createauthkeyscode.js
  • @openrouter/sdk/models/operations/createcoinbasecharge
  • @openrouter/sdk/models/operations/createcoinbasecharge.js
  • @openrouter/sdk/models/operations/createembeddings
  • @openrouter/sdk/models/operations/createembeddings.js
  • @openrouter/sdk/models/operations/createguardrail
  • @openrouter/sdk/models/operations/createguardrail.js
  • @openrouter/sdk/models/operations/createkeys
  • @openrouter/sdk/models/operations/createkeys.js
  • @openrouter/sdk/models/operations/createresponses
  • @openrouter/sdk/models/operations/createresponses.js
  • @openrouter/sdk/models/operations/deleteguardrail
  • @openrouter/sdk/models/operations/deleteguardrail.js
  • @openrouter/sdk/models/operations/deletekeys
  • @openrouter/sdk/models/operations/deletekeys.js
  • @openrouter/sdk/models/operations/exchangeauthcodeforapikey
  • @openrouter/sdk/models/operations/exchangeauthcodeforapikey.js
  • @openrouter/sdk/models/operations/getcredits
  • @openrouter/sdk/models/operations/getcredits.js
  • @openrouter/sdk/models/operations/getcurrentkey
  • @openrouter/sdk/models/operations/getcurrentkey.js
  • @openrouter/sdk/models/operations/getgeneration
  • @openrouter/sdk/models/operations/getgeneration.js
  • @openrouter/sdk/models/operations/getguardrail
  • @openrouter/sdk/models/operations/getguardrail.js
  • @openrouter/sdk/models/operations/getkey
  • @openrouter/sdk/models/operations/getkey.js
  • @openrouter/sdk/models/operations/getmodels
  • @openrouter/sdk/models/operations/getmodels.js
  • @openrouter/sdk/models/operations/getuseractivity
  • @openrouter/sdk/models/operations/getuseractivity.js
  • @openrouter/sdk/models/operations/index
  • @openrouter/sdk/models/operations/index.js
  • @openrouter/sdk/models/operations/list
  • @openrouter/sdk/models/operations/list.js
  • @openrouter/sdk/models/operations/listembeddingsmodels
  • @openrouter/sdk/models/operations/listembeddingsmodels.js
  • @openrouter/sdk/models/operations/listendpoints
  • @openrouter/sdk/models/operations/listendpoints.js
  • @openrouter/sdk/models/operations/listendpointszdr
  • @openrouter/sdk/models/operations/listendpointszdr.js
  • @openrouter/sdk/models/operations/listguardrailkeyassignments
  • @openrouter/sdk/models/operations/listguardrailkeyassignments.js
  • @openrouter/sdk/models/operations/listguardrailmemberassignments
  • @openrouter/sdk/models/operations/listguardrailmemberassignments.js
  • @openrouter/sdk/models/operations/listguardrails
  • @openrouter/sdk/models/operations/listguardrails.js
  • @openrouter/sdk/models/operations/listkeyassignments
  • @openrouter/sdk/models/operations/listkeyassignments.js
  • @openrouter/sdk/models/operations/listmemberassignments
  • @openrouter/sdk/models/operations/listmemberassignments.js
  • @openrouter/sdk/models/operations/listmodelscount
  • @openrouter/sdk/models/operations/listmodelscount.js
  • @openrouter/sdk/models/operations/listmodelsuser
  • @openrouter/sdk/models/operations/listmodelsuser.js
  • @openrouter/sdk/models/operations/listproviders
  • @openrouter/sdk/models/operations/listproviders.js
  • @openrouter/sdk/models/operations/sendchatcompletionrequest
  • @openrouter/sdk/models/operations/sendchatcompletionrequest.js
  • @openrouter/sdk/models/operations/updateguardrail
  • @openrouter/sdk/models/operations/updateguardrail.js
  • @openrouter/sdk/models/operations/updatekeys
  • @openrouter/sdk/models/operations/updatekeys.js
  • @openrouter/sdk/models/outputitemimagegenerationcall
  • @openrouter/sdk/models/outputitemimagegenerationcall.js
  • @openrouter/sdk/models/outputmessage
  • @openrouter/sdk/models/outputmessage.js
  • @openrouter/sdk/models/outputmodality
  • @openrouter/sdk/models/outputmodality.js
  • @openrouter/sdk/models/parameter
  • @openrouter/sdk/models/parameter.js
  • @openrouter/sdk/models/payloadtoolargeresponseerrordata
  • @openrouter/sdk/models/payloadtoolargeresponseerrordata.js
  • @openrouter/sdk/models/paymentrequiredresponseerrordata
  • @openrouter/sdk/models/paymentrequiredresponseerrordata.js
  • @openrouter/sdk/models/pdfparserengine
  • @openrouter/sdk/models/pdfparserengine.js
  • @openrouter/sdk/models/pdfparseroptions
  • @openrouter/sdk/models/pdfparseroptions.js
  • @openrouter/sdk/models/percentilelatencycutoffs
  • @openrouter/sdk/models/percentilelatencycutoffs.js
  • @openrouter/sdk/models/percentilestats
  • @openrouter/sdk/models/percentilestats.js
  • @openrouter/sdk/models/percentilethroughputcutoffs
  • @openrouter/sdk/models/percentilethroughputcutoffs.js
  • @openrouter/sdk/models/perrequestlimits
  • @openrouter/sdk/models/perrequestlimits.js
  • @openrouter/sdk/models/preferredmaxlatency
  • @openrouter/sdk/models/preferredmaxlatency.js
  • @openrouter/sdk/models/preferredminthroughput
  • @openrouter/sdk/models/preferredminthroughput.js
  • @openrouter/sdk/models/providername
  • @openrouter/sdk/models/providername.js
  • @openrouter/sdk/models/provideroverloadedresponseerrordata
  • @openrouter/sdk/models/provideroverloadedresponseerrordata.js
  • @openrouter/sdk/models/providerpreferences
  • @openrouter/sdk/models/providerpreferences.js
  • @openrouter/sdk/models/providersort
  • @openrouter/sdk/models/providersort.js
  • @openrouter/sdk/models/providersortconfig
  • @openrouter/sdk/models/providersortconfig.js
  • @openrouter/sdk/models/publicendpoint
  • @openrouter/sdk/models/publicendpoint.js
  • @openrouter/sdk/models/publicpricing
  • @openrouter/sdk/models/publicpricing.js
  • @openrouter/sdk/models/quantization
  • @openrouter/sdk/models/quantization.js
  • @openrouter/sdk/models/reasoningdetailencrypted
  • @openrouter/sdk/models/reasoningdetailencrypted.js
  • @openrouter/sdk/models/reasoningdetailsummary
  • @openrouter/sdk/models/reasoningdetailsummary.js
  • @openrouter/sdk/models/reasoningdetailtext
  • @openrouter/sdk/models/reasoningdetailtext.js
  • @openrouter/sdk/models/reasoningdetailunion
  • @openrouter/sdk/models/reasoningdetailunion.js
  • @openrouter/sdk/models/reasoningsummarytext
  • @openrouter/sdk/models/reasoningsummarytext.js
  • @openrouter/sdk/models/reasoningsummaryverbosity
  • @openrouter/sdk/models/reasoningsummaryverbosity.js
  • @openrouter/sdk/models/reasoningtextcontent
  • @openrouter/sdk/models/reasoningtextcontent.js
  • @openrouter/sdk/models/requesttimeoutresponseerrordata
  • @openrouter/sdk/models/requesttimeoutresponseerrordata.js
  • @openrouter/sdk/models/responseformatjsonobject
  • @openrouter/sdk/models/responseformatjsonobject.js
  • @openrouter/sdk/models/responseformatjsonschema
  • @openrouter/sdk/models/responseformatjsonschema.js
  • @openrouter/sdk/models/responseformattext
  • @openrouter/sdk/models/responseformattext.js
  • @openrouter/sdk/models/responseformattextconfig
  • @openrouter/sdk/models/responseformattextconfig.js
  • @openrouter/sdk/models/responseformattextgrammar
  • @openrouter/sdk/models/responseformattextgrammar.js
  • @openrouter/sdk/models/responseformattextpython
  • @openrouter/sdk/models/responseformattextpython.js
  • @openrouter/sdk/models/responseinputaudio
  • @openrouter/sdk/models/responseinputaudio.js
  • @openrouter/sdk/models/responseinputfile
  • @openrouter/sdk/models/responseinputfile.js
  • @openrouter/sdk/models/responseinputimage
  • @openrouter/sdk/models/responseinputimage.js
  • @openrouter/sdk/models/responseinputtext
  • @openrouter/sdk/models/responseinputtext.js
  • @openrouter/sdk/models/responseinputvideo
  • @openrouter/sdk/models/responseinputvideo.js
  • @openrouter/sdk/models/responseoutputtext
  • @openrouter/sdk/models/responseoutputtext.js
  • @openrouter/sdk/models/responseserrorfield
  • @openrouter/sdk/models/responseserrorfield.js
  • @openrouter/sdk/models/responsesformattext
  • @openrouter/sdk/models/responsesformattext.js
  • @openrouter/sdk/models/responsesformattextjsonschemaconfig
  • @openrouter/sdk/models/responsesformattextjsonschemaconfig.js
  • @openrouter/sdk/models/responsesimagegenerationcall
  • @openrouter/sdk/models/responsesimagegenerationcall.js
  • @openrouter/sdk/models/responsesoutputitem
  • @openrouter/sdk/models/responsesoutputitem.js
  • @openrouter/sdk/models/responsesoutputitemfilesearchcall
  • @openrouter/sdk/models/responsesoutputitemfilesearchcall.js
  • @openrouter/sdk/models/responsesoutputitemfunctioncall
  • @openrouter/sdk/models/responsesoutputitemfunctioncall.js
  • @openrouter/sdk/models/responsesoutputitemreasoning
  • @openrouter/sdk/models/responsesoutputitemreasoning.js
  • @openrouter/sdk/models/responsesoutputmessage
  • @openrouter/sdk/models/responsesoutputmessage.js
  • @openrouter/sdk/models/responsesoutputmodality
  • @openrouter/sdk/models/responsesoutputmodality.js
  • @openrouter/sdk/models/responsessearchcontextsize
  • @openrouter/sdk/models/responsessearchcontextsize.js
  • @openrouter/sdk/models/responseswebsearchcalloutput
  • @openrouter/sdk/models/responseswebsearchcalloutput.js
  • @openrouter/sdk/models/responseswebsearchuserlocation
  • @openrouter/sdk/models/responseswebsearchuserlocation.js
  • @openrouter/sdk/models/responsetextconfig
  • @openrouter/sdk/models/responsetextconfig.js
  • @openrouter/sdk/models/security
  • @openrouter/sdk/models/security.js
  • @openrouter/sdk/models/serviceunavailableresponseerrordata
  • @openrouter/sdk/models/serviceunavailableresponseerrordata.js
  • @openrouter/sdk/models/systemmessage
  • @openrouter/sdk/models/systemmessage.js
  • @openrouter/sdk/models/toolcallstatus
  • @openrouter/sdk/models/toolcallstatus.js
  • @openrouter/sdk/models/toolchoiceoption
  • @openrouter/sdk/models/toolchoiceoption.js
  • @openrouter/sdk/models/tooldefinitionjson
  • @openrouter/sdk/models/tooldefinitionjson.js
  • @openrouter/sdk/models/toolresponsemessage
  • @openrouter/sdk/models/toolresponsemessage.js
  • @openrouter/sdk/models/toomanyrequestsresponseerrordata
  • @openrouter/sdk/models/toomanyrequestsresponseerrordata.js
  • @openrouter/sdk/models/topproviderinfo
  • @openrouter/sdk/models/topproviderinfo.js
  • @openrouter/sdk/models/unauthorizedresponseerrordata
  • @openrouter/sdk/models/unauthorizedresponseerrordata.js
  • @openrouter/sdk/models/unprocessableentityresponseerrordata
  • @openrouter/sdk/models/unprocessableentityresponseerrordata.js
  • @openrouter/sdk/models/urlcitation
  • @openrouter/sdk/models/urlcitation.js
  • @openrouter/sdk/models/usermessage
  • @openrouter/sdk/models/usermessage.js
  • @openrouter/sdk/models/videoinput
  • @openrouter/sdk/models/videoinput.js
  • @openrouter/sdk/models/websearchengine
  • @openrouter/sdk/models/websearchengine.js
  • @openrouter/sdk/models/websearchpreviewtooluserlocation
  • @openrouter/sdk/models/websearchpreviewtooluserlocation.js
  • @openrouter/sdk/models/websearchstatus
  • @openrouter/sdk/models/websearchstatus.js
  • @openrouter/sdk/package.json
  • @openrouter/sdk/sdk/analytics
  • @openrouter/sdk/sdk/analytics.js
  • @openrouter/sdk/sdk/apikeys
  • @openrouter/sdk/sdk/apikeys.js
  • @openrouter/sdk/sdk/beta
  • @openrouter/sdk/sdk/beta.js
  • @openrouter/sdk/sdk/chat
  • @openrouter/sdk/sdk/chat.js
  • @openrouter/sdk/sdk/credits
  • @openrouter/sdk/sdk/credits.js
  • @openrouter/sdk/sdk/embeddings
  • @openrouter/sdk/sdk/embeddings.js
  • @openrouter/sdk/sdk/endpoints
  • @openrouter/sdk/sdk/endpoints.js
  • @openrouter/sdk/sdk/generations
  • @openrouter/sdk/sdk/generations.js
  • @openrouter/sdk/sdk/guardrails
  • @openrouter/sdk/sdk/guardrails.js
  • @openrouter/sdk/sdk/index
  • @openrouter/sdk/sdk/index.js
  • @openrouter/sdk/sdk/models
  • @openrouter/sdk/sdk/models.js
  • @openrouter/sdk/sdk/oauth
  • @openrouter/sdk/sdk/oauth.js
  • @openrouter/sdk/sdk/providers
  • @openrouter/sdk/sdk/providers.js
  • @openrouter/sdk/sdk/responses
  • @openrouter/sdk/sdk/responses.js
  • @openrouter/sdk/sdk/sdk
  • @openrouter/sdk/sdk/sdk.js
  • @openrouter/sdk/types
  • @openrouter/sdk/types/async
  • @openrouter/sdk/types/async.js
  • @openrouter/sdk/types/blobs
  • @openrouter/sdk/types/blobs.js
  • @openrouter/sdk/types/constdatetime
  • @openrouter/sdk/types/constdatetime.js
  • @openrouter/sdk/types/discriminatedUnion
  • @openrouter/sdk/types/discriminatedUnion.js
  • @openrouter/sdk/types/enums
  • @openrouter/sdk/types/enums.js
  • @openrouter/sdk/types/fp
  • @openrouter/sdk/types/fp.js
  • @openrouter/sdk/types/index
  • @openrouter/sdk/types/index.js
  • @openrouter/sdk/types/models
  • @openrouter/sdk/types/models.js
  • @openrouter/sdk/types/operations
  • @openrouter/sdk/types/operations.js
  • @openrouter/sdk/types/rfcdate
  • @openrouter/sdk/types/rfcdate.js
  • @openrouter/sdk/types/streams
  • @openrouter/sdk/types/streams.js
  • @openrouter/sdk/types/unrecognized
  • @openrouter/sdk/types/unrecognized.js

Readme

hero illustration

OpenRouter SDK (Beta)

The OpenRouter SDK is a TypeScript toolkit designed to help you build AI-powered features and solutions in any JS or TS based runtime. 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 and Documentation.

SDK Installation

The SDK can be installed with either npm, pnpm, bun or yarn package managers.

NPM

npm add @openrouter/sdk

PNPM

pnpm add @openrouter/sdk

Bun

bun add @openrouter/sdk

Yarn

yarn add @openrouter/sdk

[!NOTE] This package is published as an ES Module (ESM) only. For applications using CommonJS, use await import("@openrouter/sdk") to import and use this package.

Requirements

For supported JavaScript runtimes, please consult RUNTIMES.md.

SDK Usage

import { OpenRouter } from "@openrouter/sdk";

const openRouter = new OpenRouter();

const result = await openRouter.chat.send({
  messages: [
    {
      role: "user",
      content: "Hello, how are you?",
    },
  ],
  model: "openai/gpt-5",
  provider: {
    zdr: true,
    sort: "price",
  },
  stream: true
});

for await (const chunk of result) {
  console.log(chunk.choices[0].delta.content)
}

Debugging

You can setup your SDK to emit debug logs for SDK requests and responses.

You can pass a logger that matches console's interface as an SDK option.

[!WARNING] Beware that debug logging will reveal secrets, like API tokens in headers, in log messages printed to a console or files. It's recommended to use this feature only during local development and not in production.

import { OpenRouter } from "@openrouter/sdk";

const sdk = new OpenRouter({ debugLogger: console });

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:

    cp .env.example .env
  2. Edit .env and add your OpenRouter API key:

    OPENROUTER_API_KEY=your_api_key_here
  3. Run the tests:

    npx vitest

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.