UNPKG

@anthropic-ai/sdk

Version:
220 lines • 10.1 kB
import { APIResource } from "../../../../core/resource.js"; import * as BetaAPI from "../../beta.js"; import * as PluginsAPI from "./plugins.js"; import { APIPromise } from "../../../../core/api-promise.js"; import { PageCursor, type PageCursorParams, PagePromise } from "../../../../core/pagination.js"; import { RequestOptions } from "../../../../internal/request-options.js"; export declare class InstallationSettings extends APIResource { /** * List an organization-owned Plugin's installation settings, which say which * members it is for, most recently created first. * * The list holds the Plugin's own organization-wide setting (absent while the * Plugin inherits its marketplace's default) and each RBAC Group's own setting. A * member-owned Plugin has shares instead, so this path returns 404 for one. * * **Accepted credentials:** an Admin API key with the `read:plugins` or * `read:org_audit` scope, or a Compliance Access Key with the * `read:compliance_org_data` scope. * * Every request must include the beta header * `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, * exactly as if the endpoint did not exist. The Plugins API is in beta and is * available to Claude Enterprise organizations only. It is not available to Claude * Platform (Claude Console) organizations, or to organizations with HIPAA * readiness enabled. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const betaPluginInstallationSetting of client.beta.organization.plugins.installationSettings.list( * 'plugin_id', * )) { * // ... * } * ``` */ list(pluginID: string, params?: InstallationSettingListParams | null | undefined, options?: RequestOptions): PagePromise<BetaPluginInstallationSettingsPageCursor, BetaPluginInstallationSetting>; /** * Remove an organization-owned Plugin's own installation setting for the whole * organization or for one RBAC Group. * * Removing the `organization` target returns the Plugin to its marketplace's * default installation setting and leaves the groups' settings in place. Removing * a group's setting makes the group's members fall back to the Plugin's * organization-wide setting or to the settings of their other groups. * * A target that holds no setting of its own returns 404 (a Plugin that already * inherits its marketplace's default holds no `organization` setting), and so does * a member-owned Plugin. * * A removal counts as one of the Plugin's installation-setting writes: send all of * those writes one at a time. If several arrive for the same Plugin at the same * time, the server handles them one after another and can answer some of them with * `503` and `x-should-retry: true` instead of applying them; wait a second or two * and send the removal again. A `404` on the repeat means the setting is already * gone. * * **Accepted credentials:** an Admin API key with the `write:plugins` scope. * * Every request must include the beta header * `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, * exactly as if the endpoint did not exist. The Plugins API is in beta and is * available to Claude Enterprise organizations only. It is not available to Claude * Platform (Claude Console) organizations, or to organizations with HIPAA * readiness enabled. * * @example * ```ts * const betaDeletedPluginInstallationSetting = * await client.beta.organization.plugins.installationSettings.remove( * 'target', * { plugin_id: 'plugin_id' }, * ); * ``` */ remove(target: string, params: InstallationSettingRemoveParams, options?: RequestOptions): APIPromise<BetaDeletedPluginInstallationSetting>; /** * Set or change an organization-owned Plugin's installation setting for the whole * organization or for one RBAC Group. * * Writing the value a target already holds of its own changes nothing. * * A member-owned Plugin has shares instead of installation settings, so this path * returns 404 for one. * * Send a Plugin's installation-setting writes one at a time. If several writes for * the same Plugin arrive at the same time, the server handles them one after * another and can answer some of them with `503` instead of applying them. That * `503` carries `x-should-retry: true`, and the write is safe to repeat: wait a * second or two, then send it again. * * **Accepted credentials:** an Admin API key with the `write:plugins` scope. * * Every request must include the beta header * `anthropic-beta: ce-plugins-2026-09-01`. A request without it returns `404`, * exactly as if the endpoint did not exist. The Plugins API is in beta and is * available to Claude Enterprise organizations only. It is not available to Claude * Platform (Claude Console) organizations, or to organizations with HIPAA * readiness enabled. * * @example * ```ts * const betaPluginInstallationSetting = * await client.beta.organization.plugins.installationSettings.set( * 'target', * { * plugin_id: 'plugin_id', * installation_preference: 'required', * }, * ); * ``` */ set(target: string, params: InstallationSettingSetParams, options?: RequestOptions): APIPromise<BetaPluginInstallationSetting>; } export type BetaPluginInstallationSettingsPageCursor = PageCursor<BetaPluginInstallationSetting>; /** * Confirmation that one target's installation setting was removed, naming the * Plugin and the target in place of an ID. */ export interface BetaDeletedPluginInstallationSetting { /** * The Plugin's ID. */ plugin_id: string; /** * Whose setting was removed. */ target: PluginsAPI.BetaPluginTargetOrganization | PluginsAPI.BetaPluginTargetRBACGroup | PluginsAPI.BetaPluginTargetOrganizationMember; /** * Always `plugin_installation_setting_deleted`. */ type: 'plugin_installation_setting_deleted'; } /** * The installation setting an organization-owned Plugin holds for one target. It * has no ID of its own: it is addressed by the Plugin's ID and the target. */ export interface BetaPluginInstallationSetting { /** * When the target was first given a setting for this Plugin. */ created_at: string; /** * The setting the target holds for this Plugin. One of `required`, `auto_install`, * `available`, `not_available`; a value this API does not yet name is returned as * stored. */ installation_preference: 'auto_install' | 'available' | 'not_available' | 'required'; /** * The Plugin's ID. */ plugin_id: string; /** * Whose setting this is: `organization` (the Plugin's own organization-wide * setting) or `rbac_group` (one RBAC Group's own setting); `organization_member` * does not occur here. */ target: PluginsAPI.BetaPluginTargetOrganization | PluginsAPI.BetaPluginTargetRBACGroup | PluginsAPI.BetaPluginTargetOrganizationMember; /** * Always `plugin_installation_setting`. */ type: 'plugin_installation_setting'; /** * When its setting last changed. */ updated_at: string; } export interface InstallationSettingListParams extends PageCursorParams { /** * Query param: For a `read:org_audit` or `read:compliance_org_data` key created * for all of a parent organization's linked organizations: a child organization of * that parent to read instead of the organization the key was created in, given as * the organization's UUID or its `org_`-prefixed ID. A value that is neither * returns a 400; an organization that is not a child of the key's parent, or where * the Plugins API is not available, returns a 404. Any other key may pass only its * own organization's ID here; another organization returns a 404. */ organization_id?: string | null; /** * Query param: Only settings for this kind of target: `organization` (the * organization-wide setting) or `rbac_group` (an RBAC Group's). */ target_type?: 'organization' | 'rbac_group' | null; /** * Header param: This endpoint is in beta: requests must send * `ce-plugins-2026-09-01` in this header. */ betas?: Array<BetaAPI.AnthropicBeta>; } export interface InstallationSettingRemoveParams { /** * Path param: ID of the Plugin (prefixed `plugin_`). */ plugin_id: string; /** * Header param: This endpoint is in beta: requests must send * `ce-plugins-2026-09-01` in this header. */ betas?: Array<BetaAPI.AnthropicBeta>; } export interface InstallationSettingSetParams { /** * Path param: ID of the Plugin (prefixed `plugin_`). */ plugin_id: string; /** * Body param: The installation setting the target is to hold for this Plugin: one * of `required`, `auto_install`, `available`, `not_available`. */ installation_preference: 'auto_install' | 'available' | 'not_available' | 'required'; /** * Header param: This endpoint is in beta: requests must send * `ce-plugins-2026-09-01` in this header. */ betas?: Array<BetaAPI.AnthropicBeta>; } export declare namespace InstallationSettings { export { type BetaDeletedPluginInstallationSetting as BetaDeletedPluginInstallationSetting, type BetaPluginInstallationSetting as BetaPluginInstallationSetting, type BetaPluginInstallationSettingsPageCursor as BetaPluginInstallationSettingsPageCursor, type InstallationSettingListParams as InstallationSettingListParams, type InstallationSettingRemoveParams as InstallationSettingRemoveParams, type InstallationSettingSetParams as InstallationSettingSetParams, }; } //# sourceMappingURL=installation-settings.d.ts.map