@openrouter/sdk 1.4.11 → 1.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ /**
12
+ * Get organization settings
13
+ *
14
+ * @remarks
15
+ * Get the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ */
17
+ export declare function organizationGetSettings(client: OpenRouterCore, request?: operations.GetOrganizationSettingsRequest | undefined, options?: RequestOptions): APIPromise<Result<operations.GetOrganizationSettingsResponse, errors.UnauthorizedResponseError | errors.NotFoundResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
+ //# sourceMappingURL=organizationGetSettings.d.ts.map
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: e3ea6fbd3a31
4
+ */
5
+ import { encodeSimple } from "../lib/encodings.js";
6
+ import { matchStatusCode } from "../lib/http.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import { InternalServerResponseError$inboundSchema as errors_InternalServerResponseError$inboundSchema } from "../models/errors/internalserverresponseerror.js"; import { NotFoundResponseError$inboundSchema as errors_NotFoundResponseError$inboundSchema } from "../models/errors/notfoundresponseerror.js"; import { UnauthorizedResponseError$inboundSchema as errors_UnauthorizedResponseError$inboundSchema } from "../models/errors/unauthorizedresponseerror.js";
13
+ import { GetOrganizationSettingsRequest$outboundSchema as operations_GetOrganizationSettingsRequest$outboundSchema, GetOrganizationSettingsResponse$inboundSchema as operations_GetOrganizationSettingsResponse$inboundSchema } from "../models/operations/getorganizationsettings.js";
14
+ import { APIPromise } from "../types/async.js";
15
+ /**
16
+ * Get organization settings
17
+ *
18
+ * @remarks
19
+ * Get the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ */
21
+ export function organizationGetSettings(client, request, options) {
22
+ return new APIPromise($do(client, request, options));
23
+ }
24
+ async function $do(client, request, options) {
25
+ const parsed = safeParse(request, (value) => operations_GetOrganizationSettingsRequest$outboundSchema.optional().parse(value), "Input validation failed");
26
+ if (!parsed.ok) {
27
+ return [parsed, { status: "invalid" }];
28
+ }
29
+ const payload = parsed.value;
30
+ const body = null;
31
+ const path = pathToFunc("/organization/settings")();
32
+ const headers = new Headers(compactMap({
33
+ Accept: "application/json",
34
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload?.["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
35
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload?.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
36
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload?.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
37
+ }));
38
+ const secConfig = await extractSecurity(client._options.apiKey);
39
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
40
+ const requestSecurity = resolveGlobalSecurity(securityInput);
41
+ const context = {
42
+ options: client._options,
43
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
44
+ operationID: "getOrganizationSettings",
45
+ oAuth2Scopes: null,
46
+ resolvedSecurity: requestSecurity,
47
+ securitySource: client._options.apiKey,
48
+ retryConfig: options?.retries
49
+ || client._options.retryConfig
50
+ || {
51
+ strategy: "backoff",
52
+ backoff: {
53
+ initialInterval: 500,
54
+ maxInterval: 60000,
55
+ exponent: 1.5,
56
+ maxElapsedTime: 3600000,
57
+ },
58
+ retryConnectionErrors: true,
59
+ }
60
+ || { strategy: "none" },
61
+ retryCodes: options?.retryCodes || ["5XX"],
62
+ };
63
+ const requestRes = client._createRequest(context, {
64
+ security: requestSecurity,
65
+ method: "GET",
66
+ baseURL: options?.serverURL,
67
+ path: path,
68
+ headers: headers,
69
+ body: body,
70
+ userAgent: client._options.userAgent,
71
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
72
+ }, options);
73
+ if (!requestRes.ok) {
74
+ return [requestRes, { status: "invalid" }];
75
+ }
76
+ const req = requestRes.value;
77
+ const doResult = await client._do(req, {
78
+ context,
79
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
80
+ retryConfig: context.retryConfig,
81
+ retryCodes: context.retryCodes,
82
+ });
83
+ if (!doResult.ok) {
84
+ return [doResult, { status: "request-error", request: req }];
85
+ }
86
+ const response = doResult.value;
87
+ const responseFields = {
88
+ HttpMeta: { Response: response, Request: req },
89
+ };
90
+ const [result] = await M.match(M.json(200, operations_GetOrganizationSettingsResponse$inboundSchema), M.jsonErr(401, errors_UnauthorizedResponseError$inboundSchema), M.jsonErr(404, errors_NotFoundResponseError$inboundSchema), M.jsonErr(500, errors_InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
91
+ if (!result.ok) {
92
+ return [result, { status: "complete", request: req, response }];
93
+ }
94
+ return [result, { status: "complete", request: req, response }];
95
+ }
96
+ //# sourceMappingURL=organizationGetSettings.js.map
@@ -0,0 +1,18 @@
1
+ import { OpenRouterCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
4
+ import * as errors from "../models/errors/index.js";
5
+ import { OpenRouterError } from "../models/errors/openroutererror.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ /**
12
+ * Update organization settings
13
+ *
14
+ * @remarks
15
+ * Update the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ */
17
+ export declare function organizationUpdateSettings(client: OpenRouterCore, request: operations.UpdateOrganizationSettingsRequest, options?: RequestOptions): APIPromise<Result<operations.UpdateOrganizationSettingsResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.NotFoundResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
+ //# sourceMappingURL=organizationUpdateSettings.d.ts.map
@@ -0,0 +1,99 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 2754b74e3bb3
4
+ */
5
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
6
+ import { matchStatusCode } from "../lib/http.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import { BadRequestResponseError$inboundSchema as errors_BadRequestResponseError$inboundSchema } from "../models/errors/badrequestresponseerror.js"; import { InternalServerResponseError$inboundSchema as errors_InternalServerResponseError$inboundSchema } from "../models/errors/internalserverresponseerror.js"; import { NotFoundResponseError$inboundSchema as errors_NotFoundResponseError$inboundSchema } from "../models/errors/notfoundresponseerror.js"; import { UnauthorizedResponseError$inboundSchema as errors_UnauthorizedResponseError$inboundSchema } from "../models/errors/unauthorizedresponseerror.js";
13
+ import { UpdateOrganizationSettingsRequest$outboundSchema as operations_UpdateOrganizationSettingsRequest$outboundSchema, UpdateOrganizationSettingsResponse$inboundSchema as operations_UpdateOrganizationSettingsResponse$inboundSchema } from "../models/operations/updateorganizationsettings.js";
14
+ import { APIPromise } from "../types/async.js";
15
+ /**
16
+ * Update organization settings
17
+ *
18
+ * @remarks
19
+ * Update the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ */
21
+ export function organizationUpdateSettings(client, request, options) {
22
+ return new APIPromise($do(client, request, options));
23
+ }
24
+ async function $do(client, request, options) {
25
+ const parsed = safeParse(request, (value) => operations_UpdateOrganizationSettingsRequest$outboundSchema.parse(value), "Input validation failed");
26
+ if (!parsed.ok) {
27
+ return [parsed, { status: "invalid" }];
28
+ }
29
+ const payload = parsed.value;
30
+ const body = encodeJSON("body", payload.UpdateOrganizationSettingsRequest, {
31
+ explode: true,
32
+ });
33
+ const path = pathToFunc("/organization/settings")();
34
+ const headers = new Headers(compactMap({
35
+ "Content-Type": "application/json",
36
+ Accept: "application/json",
37
+ "HTTP-Referer": encodeSimple("HTTP-Referer", payload["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
38
+ "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
39
+ "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
40
+ }));
41
+ const secConfig = await extractSecurity(client._options.apiKey);
42
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
43
+ const requestSecurity = resolveGlobalSecurity(securityInput);
44
+ const context = {
45
+ options: client._options,
46
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
47
+ operationID: "updateOrganizationSettings",
48
+ oAuth2Scopes: null,
49
+ resolvedSecurity: requestSecurity,
50
+ securitySource: client._options.apiKey,
51
+ retryConfig: options?.retries
52
+ || client._options.retryConfig
53
+ || {
54
+ strategy: "backoff",
55
+ backoff: {
56
+ initialInterval: 500,
57
+ maxInterval: 60000,
58
+ exponent: 1.5,
59
+ maxElapsedTime: 3600000,
60
+ },
61
+ retryConnectionErrors: true,
62
+ }
63
+ || { strategy: "none" },
64
+ retryCodes: options?.retryCodes || ["5XX"],
65
+ };
66
+ const requestRes = client._createRequest(context, {
67
+ security: requestSecurity,
68
+ method: "PATCH",
69
+ baseURL: options?.serverURL,
70
+ path: path,
71
+ headers: headers,
72
+ body: body,
73
+ userAgent: client._options.userAgent,
74
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
75
+ }, options);
76
+ if (!requestRes.ok) {
77
+ return [requestRes, { status: "invalid" }];
78
+ }
79
+ const req = requestRes.value;
80
+ const doResult = await client._do(req, {
81
+ context,
82
+ isErrorStatusCode: (statusCode) => matchStatusCode({ status: statusCode }, ["4XX", "5XX"]),
83
+ retryConfig: context.retryConfig,
84
+ retryCodes: context.retryCodes,
85
+ });
86
+ if (!doResult.ok) {
87
+ return [doResult, { status: "request-error", request: req }];
88
+ }
89
+ const response = doResult.value;
90
+ const responseFields = {
91
+ HttpMeta: { Response: response, Request: req },
92
+ };
93
+ const [result] = await M.match(M.json(200, operations_UpdateOrganizationSettingsResponse$inboundSchema), M.jsonErr(400, errors_BadRequestResponseError$inboundSchema), M.jsonErr(401, errors_UnauthorizedResponseError$inboundSchema), M.jsonErr(404, errors_NotFoundResponseError$inboundSchema), M.jsonErr(500, errors_InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
94
+ if (!result.ok) {
95
+ return [result, { status: "complete", request: req, response }];
96
+ }
97
+ return [result, { status: "complete", request: req, response }];
98
+ }
99
+ //# sourceMappingURL=organizationUpdateSettings.js.map
@@ -50,8 +50,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
50
50
  export declare const SDK_METADATA: {
51
51
  readonly language: "typescript";
52
52
  readonly openapiDocVersion: "1.0.0";
53
- readonly sdkVersion: "1.4.11";
53
+ readonly sdkVersion: "1.4.13";
54
54
  readonly genVersion: "2.914.0";
55
- readonly userAgent: "speakeasy-sdk/typescript 1.4.11 2.914.0 1.0.0 @openrouter/sdk";
55
+ readonly userAgent: "speakeasy-sdk/typescript 1.4.13 2.914.0 1.0.0 @openrouter/sdk";
56
56
  };
57
57
  //# sourceMappingURL=config.d.ts.map
package/esm/lib/config.js CHANGED
@@ -29,8 +29,8 @@ export function serverURLFromOptions(options) {
29
29
  export const SDK_METADATA = {
30
30
  language: "typescript",
31
31
  openapiDocVersion: "1.0.0",
32
- sdkVersion: "1.4.11",
32
+ sdkVersion: "1.4.13",
33
33
  genVersion: "2.914.0",
34
- userAgent: "speakeasy-sdk/typescript 1.4.11 2.914.0 1.0.0 @openrouter/sdk",
34
+ userAgent: "speakeasy-sdk/typescript 1.4.13 2.914.0 1.0.0 @openrouter/sdk",
35
35
  };
36
36
  //# sourceMappingURL=config.js.map
@@ -552,6 +552,7 @@ export * from "./oranthropicnullablecaller.js";
552
552
  export * from "./oranthropicservertooluseblock.js";
553
553
  export * from "./oranthropicshelltoolresult.js";
554
554
  export * from "./oranthropicstopreason.js";
555
+ export * from "./organizationsettings.js";
555
556
  export * from "./outputadvisorservertoolitem.js";
556
557
  export * from "./outputapplypatchcallitem.js";
557
558
  export * from "./outputapplypatchservertoolitem.js";
@@ -786,6 +787,7 @@ export * from "./updateguardrailresponse.js";
786
787
  export * from "./updateinternrequest.js";
787
788
  export * from "./updateobservabilitydestinationrequest.js";
788
789
  export * from "./updateobservabilitydestinationresponse.js";
790
+ export * from "./updateorganizationsettingsrequest.js";
789
791
  export * from "./updateprivateendpointpricingrequest.js";
790
792
  export * from "./updateprivateendpointrequest.js";
791
793
  export * from "./updatescimgroupmappingrequest.js";
@@ -556,6 +556,7 @@ export * from "./oranthropicnullablecaller.js";
556
556
  export * from "./oranthropicservertooluseblock.js";
557
557
  export * from "./oranthropicshelltoolresult.js";
558
558
  export * from "./oranthropicstopreason.js";
559
+ export * from "./organizationsettings.js";
559
560
  export * from "./outputadvisorservertoolitem.js";
560
561
  export * from "./outputapplypatchcallitem.js";
561
562
  export * from "./outputapplypatchservertoolitem.js";
@@ -790,6 +791,7 @@ export * from "./updateguardrailresponse.js";
790
791
  export * from "./updateinternrequest.js";
791
792
  export * from "./updateobservabilitydestinationrequest.js";
792
793
  export * from "./updateobservabilitydestinationresponse.js";
794
+ export * from "./updateorganizationsettingsrequest.js";
793
795
  export * from "./updateprivateendpointpricingrequest.js";
794
796
  export * from "./updateprivateendpointrequest.js";
795
797
  export * from "./updatescimgroupmappingrequest.js";
@@ -0,0 +1,65 @@
1
+ import * as z from "zod/v4";
2
+ import { Result as SafeParseResult } from "../../types/fp.js";
3
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
4
+ import * as models from "../index.js";
5
+ export type GetOrganizationSettingsGlobals = {
6
+ /**
7
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
8
+ *
9
+ * @remarks
10
+ * This is used to track API usage per application.
11
+ */
12
+ httpReferer?: string | undefined;
13
+ /**
14
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
15
+ *
16
+ * @remarks
17
+ */
18
+ appTitle?: string | undefined;
19
+ /**
20
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
21
+ *
22
+ * @remarks
23
+ */
24
+ appCategories?: string | undefined;
25
+ };
26
+ export type GetOrganizationSettingsRequest = {
27
+ /**
28
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
29
+ *
30
+ * @remarks
31
+ * This is used to track API usage per application.
32
+ */
33
+ httpReferer?: string | undefined;
34
+ /**
35
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
36
+ *
37
+ * @remarks
38
+ */
39
+ appTitle?: string | undefined;
40
+ /**
41
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
42
+ *
43
+ * @remarks
44
+ */
45
+ appCategories?: string | undefined;
46
+ };
47
+ /**
48
+ * Organization settings
49
+ */
50
+ export type GetOrganizationSettingsResponse = {
51
+ data: models.OrganizationSettings;
52
+ };
53
+ /** @internal */
54
+ export type GetOrganizationSettingsRequest$Outbound = {
55
+ "HTTP-Referer"?: string | undefined;
56
+ appTitle?: string | undefined;
57
+ appCategories?: string | undefined;
58
+ };
59
+ /** @internal */
60
+ export declare const GetOrganizationSettingsRequest$outboundSchema: z.ZodType<GetOrganizationSettingsRequest$Outbound, GetOrganizationSettingsRequest>;
61
+ export declare function getOrganizationSettingsRequestToJSON(getOrganizationSettingsRequest: GetOrganizationSettingsRequest): string;
62
+ /** @internal */
63
+ export declare const GetOrganizationSettingsResponse$inboundSchema: z.ZodType<GetOrganizationSettingsResponse, unknown>;
64
+ export declare function getOrganizationSettingsResponseFromJSON(jsonString: string): SafeParseResult<GetOrganizationSettingsResponse, SDKValidationError>;
65
+ //# sourceMappingURL=getorganizationsettings.d.ts.map
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 1e33010d5333
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { OrganizationSettings$inboundSchema as models_OrganizationSettings$inboundSchema } from "../organizationsettings.js";
9
+ /** @internal */
10
+ export const GetOrganizationSettingsRequest$outboundSchema = z.object({
11
+ httpReferer: z.string().optional(),
12
+ appTitle: z.string().optional(),
13
+ appCategories: z.string().optional(),
14
+ }).transform((v) => {
15
+ return remap$(v, {
16
+ httpReferer: "HTTP-Referer",
17
+ });
18
+ });
19
+ export function getOrganizationSettingsRequestToJSON(getOrganizationSettingsRequest) {
20
+ return JSON.stringify(GetOrganizationSettingsRequest$outboundSchema.parse(getOrganizationSettingsRequest));
21
+ }
22
+ /** @internal */
23
+ export const GetOrganizationSettingsResponse$inboundSchema = z.object({
24
+ data: models_OrganizationSettings$inboundSchema,
25
+ });
26
+ export function getOrganizationSettingsResponseFromJSON(jsonString) {
27
+ return safeParse(jsonString, (x) => GetOrganizationSettingsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetOrganizationSettingsResponse' from JSON`);
28
+ }
29
+ //# sourceMappingURL=getorganizationsettings.js.map
@@ -71,6 +71,7 @@ export * from "./getkey.js";
71
71
  export * from "./getmodel.js";
72
72
  export * from "./getmodels.js";
73
73
  export * from "./getobservabilitydestination.js";
74
+ export * from "./getorganizationsettings.js";
74
75
  export * from "./getpreset.js";
75
76
  export * from "./getpresetversion.js";
76
77
  export * from "./getprivateendpoint.js";
@@ -137,6 +138,7 @@ export * from "./updateguardrail.js";
137
138
  export * from "./updateintern.js";
138
139
  export * from "./updatekeys.js";
139
140
  export * from "./updateobservabilitydestination.js";
141
+ export * from "./updateorganizationsettings.js";
140
142
  export * from "./updateprivateendpoint.js";
141
143
  export * from "./updateprivateendpointpricing.js";
142
144
  export * from "./updatescimgroupmapping.js";
@@ -75,6 +75,7 @@ export * from "./getkey.js";
75
75
  export * from "./getmodel.js";
76
76
  export * from "./getmodels.js";
77
77
  export * from "./getobservabilitydestination.js";
78
+ export * from "./getorganizationsettings.js";
78
79
  export * from "./getpreset.js";
79
80
  export * from "./getpresetversion.js";
80
81
  export * from "./getprivateendpoint.js";
@@ -141,6 +142,7 @@ export * from "./updateguardrail.js";
141
142
  export * from "./updateintern.js";
142
143
  export * from "./updatekeys.js";
143
144
  export * from "./updateobservabilitydestination.js";
145
+ export * from "./updateorganizationsettings.js";
144
146
  export * from "./updateprivateendpoint.js";
145
147
  export * from "./updateprivateendpointpricing.js";
146
148
  export * from "./updatescimgroupmapping.js";
@@ -0,0 +1,67 @@
1
+ import * as z from "zod/v4";
2
+ import { Result as SafeParseResult } from "../../types/fp.js";
3
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
4
+ import * as models from "../index.js";
5
+ export type UpdateOrganizationSettingsGlobals = {
6
+ /**
7
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
8
+ *
9
+ * @remarks
10
+ * This is used to track API usage per application.
11
+ */
12
+ httpReferer?: string | undefined;
13
+ /**
14
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
15
+ *
16
+ * @remarks
17
+ */
18
+ appTitle?: string | undefined;
19
+ /**
20
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
21
+ *
22
+ * @remarks
23
+ */
24
+ appCategories?: string | undefined;
25
+ };
26
+ export type UpdateOrganizationSettingsRequest = {
27
+ /**
28
+ * The app identifier should be your app's URL and is used as the primary identifier for rankings.
29
+ *
30
+ * @remarks
31
+ * This is used to track API usage per application.
32
+ */
33
+ httpReferer?: string | undefined;
34
+ /**
35
+ * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
36
+ *
37
+ * @remarks
38
+ */
39
+ appTitle?: string | undefined;
40
+ /**
41
+ * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
42
+ *
43
+ * @remarks
44
+ */
45
+ appCategories?: string | undefined;
46
+ updateOrganizationSettingsRequest: models.UpdateOrganizationSettingsRequest;
47
+ };
48
+ /**
49
+ * Organization settings updated successfully
50
+ */
51
+ export type UpdateOrganizationSettingsResponse = {
52
+ data: models.OrganizationSettings;
53
+ };
54
+ /** @internal */
55
+ export type UpdateOrganizationSettingsRequest$Outbound = {
56
+ "HTTP-Referer"?: string | undefined;
57
+ appTitle?: string | undefined;
58
+ appCategories?: string | undefined;
59
+ UpdateOrganizationSettingsRequest: models.UpdateOrganizationSettingsRequest$Outbound;
60
+ };
61
+ /** @internal */
62
+ export declare const UpdateOrganizationSettingsRequest$outboundSchema: z.ZodType<UpdateOrganizationSettingsRequest$Outbound, UpdateOrganizationSettingsRequest>;
63
+ export declare function updateOrganizationSettingsRequestToJSON(updateOrganizationSettingsRequest: UpdateOrganizationSettingsRequest): string;
64
+ /** @internal */
65
+ export declare const UpdateOrganizationSettingsResponse$inboundSchema: z.ZodType<UpdateOrganizationSettingsResponse, unknown>;
66
+ export declare function updateOrganizationSettingsResponseFromJSON(jsonString: string): SafeParseResult<UpdateOrganizationSettingsResponse, SDKValidationError>;
67
+ //# sourceMappingURL=updateorganizationsettings.d.ts.map
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: a634597bbc3c
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { OrganizationSettings$inboundSchema as models_OrganizationSettings$inboundSchema } from "../organizationsettings.js"; import { UpdateOrganizationSettingsRequest$outboundSchema as models_UpdateOrganizationSettingsRequest$outboundSchema } from "../updateorganizationsettingsrequest.js";
9
+ /** @internal */
10
+ export const UpdateOrganizationSettingsRequest$outboundSchema = z.object({
11
+ httpReferer: z.string().optional(),
12
+ appTitle: z.string().optional(),
13
+ appCategories: z.string().optional(),
14
+ updateOrganizationSettingsRequest: models_UpdateOrganizationSettingsRequest$outboundSchema,
15
+ }).transform((v) => {
16
+ return remap$(v, {
17
+ httpReferer: "HTTP-Referer",
18
+ updateOrganizationSettingsRequest: "UpdateOrganizationSettingsRequest",
19
+ });
20
+ });
21
+ export function updateOrganizationSettingsRequestToJSON(updateOrganizationSettingsRequest) {
22
+ return JSON.stringify(UpdateOrganizationSettingsRequest$outboundSchema.parse(updateOrganizationSettingsRequest));
23
+ }
24
+ /** @internal */
25
+ export const UpdateOrganizationSettingsResponse$inboundSchema = z.object({
26
+ data: models_OrganizationSettings$inboundSchema,
27
+ });
28
+ export function updateOrganizationSettingsResponseFromJSON(jsonString) {
29
+ return safeParse(jsonString, (x) => UpdateOrganizationSettingsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateOrganizationSettingsResponse' from JSON`);
30
+ }
31
+ //# sourceMappingURL=updateorganizationsettings.js.map
@@ -0,0 +1,17 @@
1
+ import * as z from "zod/v4";
2
+ import { Result as SafeParseResult } from "../types/fp.js";
3
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
4
+ export type OrganizationSettings = {
5
+ /**
6
+ * ID of the organization the settings belong to
7
+ */
8
+ id: string;
9
+ /**
10
+ * When true, `GET /api/v1/models` called with one of the organization's API keys returns only the models that key can use (the `/api/v1/models/user` catalog), and the signed-in dashboard shows the same list. Anonymous requests always receive the public catalog.
11
+ */
12
+ isFilteredModelCatalogEnabled: boolean;
13
+ };
14
+ /** @internal */
15
+ export declare const OrganizationSettings$inboundSchema: z.ZodType<OrganizationSettings, unknown>;
16
+ export declare function organizationSettingsFromJSON(jsonString: string): SafeParseResult<OrganizationSettings, SDKValidationError>;
17
+ //# sourceMappingURL=organizationsettings.d.ts.map
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 9998a62748cc
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ /** @internal */
9
+ export const OrganizationSettings$inboundSchema = z.object({
10
+ id: z.string(),
11
+ is_filtered_model_catalog_enabled: z.boolean(),
12
+ }).transform((v) => {
13
+ return remap$(v, {
14
+ "is_filtered_model_catalog_enabled": "isFilteredModelCatalogEnabled",
15
+ });
16
+ });
17
+ export function organizationSettingsFromJSON(jsonString) {
18
+ return safeParse(jsonString, (x) => OrganizationSettings$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'OrganizationSettings' from JSON`);
19
+ }
20
+ //# sourceMappingURL=organizationsettings.js.map
@@ -1,7 +1,7 @@
1
1
  import * as z from "zod/v4";
2
2
  import { OpenEnum } from "../types/enums.js";
3
3
  /**
4
- * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, capability.
4
+ * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, stage.
5
5
  */
6
6
  export declare const Algorithm: {
7
7
  readonly Capability: "capability";
@@ -12,12 +12,12 @@ export declare const Algorithm: {
12
12
  readonly Passthrough: "passthrough";
13
13
  };
14
14
  /**
15
- * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, capability.
15
+ * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, stage.
16
16
  */
17
17
  export type Algorithm = OpenEnum<typeof Algorithm>;
18
18
  export type SwitchyardRouterPlugin = {
19
19
  /**
20
- * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, capability.
20
+ * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, stage.
21
21
  */
22
22
  algorithm?: Algorithm | undefined;
23
23
  id: "switchyard-router";
@@ -5,7 +5,7 @@
5
5
  import * as z from "zod/v4";
6
6
  import * as openEnums from "../types/enums.js";
7
7
  /**
8
- * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, capability.
8
+ * Routing algorithm for this request. "capability" calls a small judge model to rate how demanding the task is, then picks the efficient or capable candidate. "stage" reads the tool-result history (errors, repeated failures, edits landing) and calls the judge only when those signals are undecided. "auto" is "stage" without the judge call. "random" picks one candidate at random. "composite" keeps the tier chosen on the last human turn and re-evaluates tool turns with the stage signals. "passthrough" serves the eligible candidates in the order OpenRouter already ranked them, with no routing decision and no judge call. Omit this field to use the platform default, stage.
9
9
  */
10
10
  export const Algorithm = {
11
11
  Capability: "capability",
@@ -0,0 +1,15 @@
1
+ import * as z from "zod/v4";
2
+ export type UpdateOrganizationSettingsRequest = {
3
+ /**
4
+ * When true, `GET /api/v1/models` called with one of the organization's API keys returns only the models that key can use (the `/api/v1/models/user` catalog), and the signed-in dashboard shows the same list. Anonymous requests always receive the public catalog.
5
+ */
6
+ isFilteredModelCatalogEnabled: boolean;
7
+ };
8
+ /** @internal */
9
+ export type UpdateOrganizationSettingsRequest$Outbound = {
10
+ is_filtered_model_catalog_enabled: boolean;
11
+ };
12
+ /** @internal */
13
+ export declare const UpdateOrganizationSettingsRequest$outboundSchema: z.ZodType<UpdateOrganizationSettingsRequest$Outbound, UpdateOrganizationSettingsRequest>;
14
+ export declare function updateOrganizationSettingsRequestToJSON(updateOrganizationSettingsRequest: UpdateOrganizationSettingsRequest): string;
15
+ //# sourceMappingURL=updateorganizationsettingsrequest.d.ts.map
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 0eff61f1211f
4
+ */
5
+ import * as z from "zod/v4";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ /** @internal */
8
+ export const UpdateOrganizationSettingsRequest$outboundSchema = z.object({
9
+ isFilteredModelCatalogEnabled: z.boolean(),
10
+ }).transform((v) => {
11
+ return remap$(v, {
12
+ isFilteredModelCatalogEnabled: "is_filtered_model_catalog_enabled",
13
+ });
14
+ });
15
+ export function updateOrganizationSettingsRequestToJSON(updateOrganizationSettingsRequest) {
16
+ return JSON.stringify(UpdateOrganizationSettingsRequest$outboundSchema.parse(updateOrganizationSettingsRequest));
17
+ }
18
+ //# sourceMappingURL=updateorganizationsettingsrequest.js.map
@@ -11,5 +11,19 @@ export declare class Organization extends ClientSDK {
11
11
  listMembers(request?: operations.ListOrganizationMembersRequest | undefined, options?: RequestOptions): Promise<PageIterator<operations.ListOrganizationMembersResponse, {
12
12
  offset: number;
13
13
  }>>;
14
+ /**
15
+ * Get organization settings
16
+ *
17
+ * @remarks
18
+ * Get the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
19
+ */
20
+ getSettings(request?: operations.GetOrganizationSettingsRequest | undefined, options?: RequestOptions): Promise<operations.GetOrganizationSettingsResponse>;
21
+ /**
22
+ * Update organization settings
23
+ *
24
+ * @remarks
25
+ * Update the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
26
+ */
27
+ updateSettings(request: operations.UpdateOrganizationSettingsRequest, options?: RequestOptions): Promise<operations.UpdateOrganizationSettingsResponse>;
14
28
  }
15
29
  //# sourceMappingURL=organization.d.ts.map
@@ -2,8 +2,11 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  * @generated-id: 976de6f449fe
4
4
  */
5
+ import { organizationGetSettings } from "../funcs/organizationGetSettings.js";
5
6
  import { organizationListMembers } from "../funcs/organizationListMembers.js";
7
+ import { organizationUpdateSettings } from "../funcs/organizationUpdateSettings.js";
6
8
  import { ClientSDK } from "../lib/sdks.js";
9
+ import { unwrapAsync } from "../types/fp.js";
7
10
  import { unwrapResultIterator } from "../types/operations.js";
8
11
  export class Organization extends ClientSDK {
9
12
  /**
@@ -15,5 +18,23 @@ export class Organization extends ClientSDK {
15
18
  async listMembers(request, options) {
16
19
  return unwrapResultIterator(organizationListMembers(this, request, options));
17
20
  }
21
+ /**
22
+ * Get organization settings
23
+ *
24
+ * @remarks
25
+ * Get the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
26
+ */
27
+ async getSettings(request, options) {
28
+ return unwrapAsync(organizationGetSettings(this, request, options));
29
+ }
30
+ /**
31
+ * Update organization settings
32
+ *
33
+ * @remarks
34
+ * Update the settings of the organization associated with the authenticated management key. [Management key](/docs/guides/overview/auth/management-api-keys) required.
35
+ */
36
+ async updateSettings(request, options) {
37
+ return unwrapAsync(organizationUpdateSettings(this, request, options));
38
+ }
18
39
  }
19
40
  //# sourceMappingURL=organization.js.map
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@openrouter/sdk",
5
- "version": "1.4.11",
5
+ "version": "1.4.13",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrouter/sdk",
3
- "version": "1.4.11",
3
+ "version": "1.4.13",
4
4
  "author": "OpenRouter",
5
5
  "description": "The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 400+ language models through a unified API.",
6
6
  "keywords": [
@@ -21,8 +21,8 @@
21
21
  "license": "Apache-2.0",
22
22
  "packageManager": "pnpm@10.22.0",
23
23
  "publishConfig": {
24
- "provenance": true,
25
- "access": "public"
24
+ "access": "public",
25
+ "provenance": true
26
26
  },
27
27
  "type": "module",
28
28
  "main": "./esm/index.js",
@@ -73,15 +73,15 @@
73
73
  "lint": "eslint --cache --max-warnings=0 src",
74
74
  "build": "tsc && node scripts/unbarrel-imports.js",
75
75
  "prepublishOnly": "npm run build",
76
- "prepare": "npm run build",
77
- "typecheck:transit": "exit 0",
78
76
  "postinstall": "node scripts/check-types.js || true",
79
- "test": "vitest --run --project unit",
77
+ "prepare": "npm run build",
80
78
  "test:e2e": "vitest --run --project e2e",
81
- "test:transit": "exit 0",
82
79
  "test:watch": "vitest --watch --project unit",
83
80
  "typecheck": "tsc --noEmit",
84
- "compile": "tsc && node scripts/unbarrel-imports.js"
81
+ "compile": "tsc && node scripts/unbarrel-imports.js",
82
+ "test": "vitest --run --project unit",
83
+ "test:transit": "exit 0",
84
+ "typecheck:transit": "exit 0"
85
85
  },
86
86
  "peerDependencies": {
87
87