Skip to content

Latest commit

 

History

History
1530 lines (1028 loc) · 44.5 KB

api.md

File metadata and controls

1530 lines (1028 loc) · 44.5 KB

Scalar Ruby API

Complete reference of every operation, grouped by resource. See the README for usage and configuration.

Contents

Setup

require "scalar_api_ruby"

client = Scalar::Client.new(
  bearer_auth: ENV["BEARER_AUTH"], # defaults to the BEARER_AUTH env var
)

Registry

Registry

List all API Documents

List all API documents across every namespace the caller can access.

Direction Type
Request RegistryListAllAPIDocumentsParams
Response APIDocument
response = client.registry.list_all_api_documents

puts response.inspect

List API Documents in a namespace

List API documents in a namespace.

Direction Type
Request RegistryListAPIDocumentsParams
Response APIDocument
response = client.registry.list_api_documents("acme")

puts response.inspect

Create API Document

Create an API document.

Direction Type
Request RegistryCreateAPIDocumentParams
Response RegistryCreateAPIDocumentResponse
response = client.registry.create_api_document("acme", { document: "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme API\",\"version\":\"1.2.0\"},\"paths\":{}}", slug: "acme-api", title: "Acme API", version: "1.2.0", description: "API for managing Acme products and orders.", is_private: false, ruleset: "extends: [\"spectral:oas\"]" })

puts response.inspect

Update API Document metadata

Update metadata for an API document.

Direction Type
Request RegistryUpdateAPIDocumentParams
response = client.registry.update_api_document("acme-api", { namespace: "acme", description: "API for managing Acme products and orders.", is_private: false, ruleset: "extends: [\"spectral:oas\"]", title: "Acme API" })

puts response.inspect

Delete API Document

Delete an API document and all versions.

Direction Type
Request RegistryDeleteAPIDocumentParams
response = client.registry.delete_api_document("acme-api", { namespace: "acme" })

puts response.inspect

Get API Document

Get a specific API document version.

Direction Type
Request RegistryRetrieveAPIDocumentVersionParams
response = client.registry.retrieve_api_document_version("1.2.0", { namespace: "acme", slug: "acme-api" })

puts response.inspect

Update API Document version

Update the registry file content for an API document version.

Direction Type
Request RegistryUpdateAPIDocumentVersionParams
Response RegistryUpdateAPIDocumentVersionResponse
response = client.registry.update_api_document_version("1.2.0", { namespace: "acme", slug: "acme-api", document: "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme API\",\"version\":\"1.2.0\"},\"paths\":{}}" })

puts response.inspect

Delete API Document version

Delete a specific API document version.

Direction Type
Request RegistryDeleteAPIDocumentVersionParams
response = client.registry.delete_api_document_version("1.2.0", { namespace: "acme", slug: "acme-api" })

puts response.inspect

Get API Document version metadata

Get metadata (uid, content shas, version sha, tags) for a specific API document version.

Direction Type
Request RegistryListAPIDocumentVersionMetadataParams
Response ManagedDocVersion
response = client.registry.list_api_document_version_metadata("1.2.0", { namespace: "acme", slug: "acme-api" })

puts response.inspect

Create API Document version

Create a new API document version.

Direction Type
Request RegistryCreateAPIDocumentVersionParams
Response ManagedDocVersion
response = client.registry.create_api_document_version("acme-api", { namespace: "acme", document: "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme API\",\"version\":\"1.2.0\"},\"paths\":{}}", version: "1.2.0", force: false })

puts response.inspect

Add access group

Add an access group to an API document.

Direction Type
Request RegistryCreateAPIDocumentAccessGroupParams
response = client.registry.create_api_document_access_group("acme-api", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

Remove access group

Remove an access group from an API document.

Direction Type
Request RegistryDeleteAPIDocumentAccessGroupParams
response = client.registry.delete_api_document_access_group("acme-api", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

Schemas

Schemas

List all shared components

List schemas in a namespace.

Direction Type
Request SchemaListParams
Response Schema
response = client.schemas.list("acme")

puts response.inspect

Create a shared component

Create a schema in a namespace.

Direction Type
Request SchemaCreateParams
Response UID
response = client.schemas.create("acme", { document: "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"examples\":[\"Acme\"]}}}", slug: "customer", title: "Customer", version: "1.2.0", description: "API for managing Acme products and orders.", is_private: false })

puts response.inspect

Update shared component metadata

Update schema metadata.

Direction Type
Request SchemaUpdateParams
response = client.schemas.update("customer", { namespace: "acme", description: "API for managing Acme products and orders.", is_private: false, title: "Customer" })

puts response.inspect

Delete a shared component

Delete a schema and all related versions.

Direction Type
Request SchemaDeleteParams
response = client.schemas.delete("customer", { namespace: "acme" })

puts response.inspect

Schemas Version

Schemas

Get a shared component document

Get a specific schema version document.

Direction Type
Request VersionRetrieveParams
response = client.schemas.version.retrieve("1.2.0", { namespace: "acme", slug: "customer" })

puts response.inspect

Delete a shared component version

Delete a schema version.

Direction Type
Request VersionDeleteParams
response = client.schemas.version.delete("1.2.0", { namespace: "acme", slug: "customer" })

puts response.inspect

Create a shared component version

Create a schema version.

Direction Type
Request VersionCreateParams
Response Schemas::VersionCreateResponse
response = client.schemas.version.create("customer", { namespace: "acme", document: "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"examples\":[\"Acme\"]}}}", version: "1.2.0", force: false })

puts response.inspect

Schemas AccessGroup

Schemas

Add shared component access group

Add an access group to a schema.

Direction Type
Request AccessGroupCreateParams
response = client.schemas.access_group.create("customer", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

Remove shared component access group

Remove an access group from a schema.

Direction Type
Request AccessGroupDeleteParams
response = client.schemas.access_group.delete("customer", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

LoginPortals

Login Portals

Get a login portal

Get a login portal by slug.

Direction Type
Request LoginPortalRetrieveParams
Response LoginPortalRetrieveResponse
response = client.login_portals.retrieve("acme-login")

puts response.inspect

Update portal metadata

Update metadata for a login portal.

Direction Type
Request LoginPortalUpdateParams
response = client.login_portals.update("acme-login", { title: "Acme Private Documentation" })

puts response.inspect

Delete a login portal

Delete a login portal.

Direction Type
Request LoginPortalDeleteParams
response = client.login_portals.delete("acme-login")

puts response.inspect

Create a portal

Create a login portal for the current team.

Direction Type
Request LoginPortalCreateParams
Response UID
response = client.login_portals.create({ email: { "logo" => "", "logoSize" => "100", "buttonText" => "Login", "message" => "Click to access private documentation hosted by scalar.com", "title" => "Private Docs", "mainColor" => "\#2a2f45", "mainBackground" => "\#f6f6f6", "cardColor" => "\#2a2f45", "cardBackground" => "\#fff", "buttonColor" => "\#fff", "buttonBackground" => "\#0f0f0f" }, page: { "title" => "Scalar Private Docs", "description" => "Login to access your documentation", "head" => "", "script" => "", "theme" => "", "companyName" => "", "logo" => "", "logoURL" => "", "favicon" => "", "termsLink" => "", "privacyLink" => "", "formTitle" => "Scalar Private Docs", "formDescription" => "Login to access your documentation", "formImage" => "" }, slug: "acme-login", title: "Acme Private Documentation" })

puts response.inspect

List all portals

List all login portals for the current team.

Direction Type
Request LoginPortalListParams
Response LoginPortal
response = client.login_portals.list

puts response.inspect

AccessGroups

Access Groups

Create an access group

Create a group for the current team. Requires docs edit permission and the access groups billing feature. Domains are exact email domains, without wildcards or implicit subdomain matching.

Direction Type
Request AccessGroupCreateParams
Response AccessGroupCreateResponse
response = client.access_groups.create({ allowed_domains: "example.com", name: "Engineering", slug: "acme-api" })

puts response.inspect

Get an access group

Get a group and its email and domain allowlists by slug.

Direction Type
Request AccessGroupRetrieveParams
Response AccessGroupRetrieveResponse
response = client.access_groups.retrieve("acme-api")

puts response.inspect

Update an access group

Update group metadata. Requires docs edit permission. After changing the slug, use the new slug in subsequent requests.

Direction Type
Request AccessGroupUpdateParams
response = client.access_groups.update("acme-api", { name: "Engineering", body_slug: "acme-api" })

puts response.inspect

Delete an access group

Delete a group and remove its project assignments. Requires docs edit permission.

Direction Type
Request AccessGroupDeleteParams
response = client.access_groups.delete("acme-api")

puts response.inspect

AccessGroups Domains

Access Groups

Add an allowed email domain

Allow an exact email domain in a group. Requires docs edit permission. A group supports up to 1000 domains.

Direction Type
Request DomainCreateParams
response = client.access_groups.domains.create("acme-api", { domain: "example.com" })

puts response.inspect

Remove an allowed email domain

Remove an exact email domain from a group. Requires docs edit permission. Other allowed domains and emails are preserved.

Direction Type
Request DomainDeleteParams
response = client.access_groups.domains.delete("acme-api", { domain: "example.com" })

puts response.inspect

Rules

Rules

List all rules

List all rulesets in a namespace.

Direction Type
Request RuleListRulesetsParams
Response Rule
response = client.rules.list_rulesets("acme")

puts response.inspect

Create a rule

Create a rule in a namespace.

Direction Type
Request RuleCreateRulesetParams
Response UID
response = client.rules.create_ruleset("acme", { document: "extends: [\"spectral:oas\"]\nrules:\n  info-contact: warn\n", slug: "acme-rules", title: "Acme API Rules", description: "API for managing Acme products and orders.", is_private: false })

puts response.inspect

Update rule metadata

Update rule metadata by slug.

Direction Type
Request RuleUpdateRulesetParams
response = client.rules.update_ruleset("acme-rules", { path_namespace: "acme", description: "API for managing Acme products and orders.", is_private: false, body_namespace: "acme", body_slug: "acme-rules", title: "Acme API Rules" })

puts response.inspect

Delete a rule

Delete a rule by slug.

Direction Type
Request RuleDeleteRulesetParams
response = client.rules.delete_ruleset("acme-rules", { namespace: "acme" })

puts response.inspect

Get a rule

Get a rule document by slug.

Direction Type
Request RuleRetrieveRulesetDocumentParams
response = client.rules.retrieve_ruleset_document("acme-rules", { namespace: "acme" })

puts response.inspect

Add rule access group

Grant an access group to a rule.

Direction Type
Request RuleCreateRulesetAccessGroupParams
response = client.rules.create_ruleset_access_group("acme-rules", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

Remove rule access group

Remove an access group from a rule.

Direction Type
Request RuleDeleteRulesetAccessGroupParams
response = client.rules.delete_ruleset_access_group("acme-rules", { access_group_slug: "acme-api", namespace: "acme" })

puts response.inspect

Themes

Themes

List all themes

List all team themes.

Direction Type
Request ThemeListParams
Response Theme
response = client.themes.list

puts response.inspect

Create a theme

Create a team theme.

Direction Type
Request ThemeCreateParams
Response UID
response = client.themes.create({ document: ":root { --scalar-color-1: \#1f2937; }", name: "Acme Theme", slug: "acme-theme", description: "API for managing Acme products and orders." })

puts response.inspect

Update theme metadata

Update theme metadata.

Direction Type
Request ThemeUpdateParams
response = client.themes.update("acme-theme", { description: "API for managing Acme products and orders.", name: "Acme Theme" })

puts response.inspect

Update theme document

Replace the theme document.

Direction Type
Request ThemeReplaceDocumentParams
response = client.themes.replace_document("acme-theme", { document: ":root { --scalar-color-1: \#1f2937; }" })

puts response.inspect

Delete a theme

Delete a theme by slug.

Direction Type
Request ThemeDeleteParams
response = client.themes.delete("acme-theme")

puts response.inspect

Get a theme

Get the theme document by slug.

Direction Type
Request ThemeRetrieveParams
response = client.themes.retrieve("acme-theme")

puts response.inspect

Teams

Teams

List teams

List all available teams

Direction Type
Request TeamListParams
Response Team
response = client.teams.list

puts response.inspect

Teams Members

Teams

List team members

List the members of the current team, along with the invites still outstanding.

Direction Type
Request MemberListParams
Response Teams::MemberListResponse
response = client.teams.members.list

puts response.inspect

Change a member role

Change what a member of the current team is allowed to do.

Direction Type
Request MemberUpdateParams
response = client.teams.members.update("UakgbKJ5m9gl0JDMbcJqL", { role: "owner" })

puts response.inspect

Remove a member

Remove someone from the current team.

Direction Type
Request MemberDeleteParams
response = client.teams.members.delete("UakgbKJ5m9gl0JDMbcJqL")

puts response.inspect

Teams Invites

Teams

Invite a member

Invite someone to the current team by email.

Direction Type
Request InviteMemberParams
response = client.teams.invites.member({ email: "alex@example.com", role: "owner" })

puts response.inspect

Resend an invite

Send the invite email again.

Direction Type
Request InviteResendParams
response = client.teams.invites.resend("UakgbKJ5m9gl0JDMbcJqL")

puts response.inspect

Cancel an invite

Withdraw an invite that has not been accepted.

Direction Type
Request InviteCancelParams
response = client.teams.invites.cancel("UakgbKJ5m9gl0JDMbcJqL")

puts response.inspect

ScalarDocs

Scalar Docs

List all projects

List all guide projects.

Direction Type
Request ScalarDocListGuidesParams
Response GithubProject
response = client.scalar_docs.list_guides

puts response.inspect

Create a project

Create a guide project.

Direction Type
Request ScalarDocCreateGuideParams
Response ScalarDocCreateGuideResponse
response = client.scalar_docs.create_guide({ allowed_domains: [], allowed_users: [], is_private: false, name: "Acme Documentation", slug: "acme-api" })

puts response.inspect

Publish a project

Start a new publish process.

Direction Type
Request ScalarDocPublishGuideParams
Response ScalarDocPublishGuideResponse
response = client.scalar_docs.publish_guide("acme-docs")

puts response.inspect

List all docs projects

List every docs project on the team.

Direction Type
Request ScalarDocListProjectsParams
Response ScalarDocListProjectsResponse
response = client.scalar_docs.list_projects

puts response.inspect

Create a docs project

Create a docs project. Omit provider to have Scalar host the repository.

Direction Type
Request ScalarDocCreateProjectParams
Response DocsProject
response = client.scalar_docs.create_project({ name: "Acme Documentation", provider: "forgejo", bitbucket_repository: { "workspaceUuid" => "{12345678-1234-4234-8234-123456789abc}", "repoUuid" => "{abcdef01-1234-4234-8234-123456789abc}" }, blank: true, github_repository: { "installationId" => 84, "repoId" => 123456789 }, is_private: false, slug: "acme-api" })

puts response.inspect

Get a docs project

Get a single docs project by its slug.

Direction Type
Request ScalarDocRetrieveProjectParams
Response DocsProject
response = client.scalar_docs.retrieve_project("acme-docs")

puts response.inspect

Update a docs project

Update project settings. Set isPrivate with accessGroups to put the site behind a login.

Direction Type
Request ScalarDocUpdateProjectParams
response = client.scalar_docs.update_project("acme-docs", { access_groups: ["xxxxx"], active_theme_id: "UakgbKJ5m9gl0JDMbcJqL", agent_enabled: true, analytics_enabled: true, is_private: false, login_portal_uid: "xxxxx", name: "Acme Documentation" })

puts response.inspect

Delete a docs project

Delete a docs project, its deploys, its publish records and its cached builds.

Direction Type
Request ScalarDocDeleteProjectParams
response = client.scalar_docs.delete_project("acme-docs")

puts response.inspect

Publish a docs project

Start a build and deploy. The returned publishUid identifies the publish record.

Direction Type
Request ScalarDocPublishProjectParams
Response ScalarDocPublishProjectResponse
response = client.scalar_docs.publish_project("acme-docs", { commit_sha: "0123456789abcdef0123456789abcdef01234567", config_path: "scalar.config.json", preview: false })

puts response.inspect

Read the site config

Read scalar.config.json straight from the project repository, without cloning it. baseToken is the compare-and-swap handle for a later write.

Direction Type
Request ScalarDocListProjectConfigParams
Response ScalarDocListProjectConfigResponse
response = client.scalar_docs.list_project_config("acme-docs")

puts response.inspect

Write the site config

Commit scalar.config.json straight to the project repository. Pass the baseToken from the read this edit was based on; a conflict means the file moved underneath it.

Direction Type
Request ScalarDocUpdateProjectConfigParams
Response ScalarDocUpdateProjectConfigResponse
response = client.scalar_docs.update_project_config("acme-docs", { content: "{\"name\":\"Acme Documentation\"}", base_token: "example-edit-token", message: "Update documentation configuration", path: "scalar.config.json", ref: "main" })

puts response.inspect

Get the site domains

The domains the project serves on — the Scalar-hosted one and the custom one, when set.

Direction Type
Request ScalarDocListProjectDomainParams
Response ScalarDocListProjectDomainResponse
response = client.scalar_docs.list_project_domain("acme-docs")

puts response.inspect

Check domain DNS

Whether the project custom domain points at Scalar yet. expected is the CNAME record to create; found is what resolves today. A project with no custom domain reports verified with no expected record, because Scalar serves its own subdomain directly.

Direction Type
Request ScalarDocListProjectDomainStatusParams
Response ScalarDocListProjectDomainStatusResponse
response = client.scalar_docs.list_project_domain_status("acme-docs")

puts response.inspect

Namespaces

Namespaces

List namespaces

Get all namespaces for the current team

Direction Type
Request NamespaceListParams
response = client.namespaces.list

puts response.inspect

Authentication

Authentication

Exchange token

Exchange an API key for an access token.

Direction Type
Request AuthenticationExchangePersonalTokenParams
Response AuthenticationExchangePersonalTokenResponse
response = client.authentication.exchange_personal_token({ personal_token: "scalar_example_personal_token" })

puts response.inspect

Get current user

Get the authenticated user, including their available teams and theme.

Direction Type
Request AuthenticationListCurrentUserParams
Response User
response = client.authentication.list_current_user

puts response.inspect

Sdks

SDKs

List all SDKs

List every SDK on the team.

Direction Type
Request SdkListParams
Response SdkListResponse
response = client.sdks.list

puts response.inspect

Create an SDK

Create an SDK from an API document, targeting one or more languages.

Direction Type
Request SdkCreateParams
Response UID
response = client.sdks.create({ api_uid: "UakgbKJ5m9gl0JDMbcJqL", languages: ["typescript"], class_name: "Acme", config: "{\"targets\":{\"typescript\":{\"packageName\":\"@acme/sdk\"}}}", slug: "acme-api", title: "Acme SDK" })

puts response.inspect

Get an SDK

Get a single SDK by its uid.

Direction Type
Request SdkRetrieveParams
Response Sdk
response = client.sdks.retrieve("UakgbKJ5m9gl0JDMbcJqL")

puts response.inspect

Update an SDK

Update SDK metadata, its linked API, or its config.

Direction Type
Request SdkUpdateParams
response = client.sdks.update("UakgbKJ5m9gl0JDMbcJqL", { api_uid: "UakgbKJ5m9gl0JDMbcJqL", api_version: "", config: "{\"targets\":{\"typescript\":{\"packageName\":\"@acme/sdk\"}}}", is_private: false, slug: "acme-api", title: "Acme SDK" })

puts response.inspect

Delete an SDK

Delete an SDK and every version it holds.

Direction Type
Request SdkDeleteParams
response = client.sdks.delete("UakgbKJ5m9gl0JDMbcJqL")

puts response.inspect

Build an SDK

Start a build. Omit version to build the current work — the open draft, else the latest version — and the resolved version comes back in the response.

Direction Type
Request SdkBuildParams
Response SdkBuildResponse
response = client.sdks.build("UakgbKJ5m9gl0JDMbcJqL", { languages: ["typescript"], version: "1.2.0" })

puts response.inspect

Sdks Versions

SDKs

Create an SDK version

Create a new SDK version against a specific API version.

Direction Type
Request VersionCreateParams
response = client.sdks.versions.create("UakgbKJ5m9gl0JDMbcJqL", { api_version: "1.2.0", version: "1.2.0" })

puts response.inspect

Delete an SDK version

Permanently delete one version of an SDK.

Direction Type
Request VersionDeleteParams
response = client.sdks.versions.delete("1.2.0", { uid: "UakgbKJ5m9gl0JDMbcJqL" })

puts response.inspect

Sdks Repositories

SDKs

Link a repository

Link one language target to a GitHub repository, so builds sync there.

Direction Type
Request RepositoryLinkParams
Response Sdks::RepositoryLinkResponse
response = client.sdks.repositories.link("UakgbKJ5m9gl0JDMbcJqL", { base_branch: "main", language: "typescript", repository_id: 123456789, prerelease_type: "beta" })

puts response.inspect

Unlink a repository

Unlink one language target from its repository.

Direction Type
Request RepositoryUnlinkParams
response = client.sdks.repositories.unlink("typescript", { uid: "UakgbKJ5m9gl0JDMbcJqL" })

puts response.inspect

Update publishing settings

Toggle publish-on-merge and the release settings for a linked target.

Direction Type
Request RepositoryUpdatePublishingParams
response = client.sdks.repositories.update_publishing("typescript", { uid: "UakgbKJ5m9gl0JDMbcJqL", publish_on_merge: true, access: "public", auth_method: "oidc", tag: "latest" })

puts response.inspect

Mcp

Mcp Servers

MCP

List all MCP servers

List every MCP server on the team.

Direction Type
Request ServerListParams
Response Mcp::McpServer
response = client.mcp.servers.list

puts response.inspect

Create an MCP server

Create an MCP server over one or more API document versions. The response carries the server and its first installation.

Direction Type
Request ServerCreateParams
Response Mcp::ServerCreateResponse
response = client.mcp.servers.create({ name: "Acme MCP", project_uids: [""], slug: "acme-api", version_uids: [""] })

puts response.inspect

Get an MCP server

Get a single MCP server by its id.

Direction Type
Request ServerRetrieveParams
Response Mcp::McpServer
response = client.mcp.servers.retrieve("42")

puts response.inspect

Update an MCP server

Update MCP server metadata and which tools it exposes.

Direction Type
Request ServerUpdateParams
Response Mcp::McpServer
response = client.mcp.servers.update("42", { auto_add_operations: true, docs_pages: [""], name: "Acme MCP", operations: [""], slug: "acme-api" })

puts response.inspect

Delete an MCP server

Delete an MCP server and every installation it serves.

Direction Type
Request ServerDeleteParams
response = client.mcp.servers.delete("42")

puts response.inspect

Mcp Servers Installations

MCP

List installations

List the installations of an MCP server. An installation is what an MCP client connects to.

Direction Type
Request InstallationListParams
Response Mcp::Servers::McpInstallationListItem
response = client.mcp.servers.installations.list("42")

puts response.inspect
Create an installation

Create an installation of an MCP server. documentAuth holds the credentials the server presents to the upstream API and is never returned.

Direction Type
Request InstallationCreateParams
Response Mcp::McpInstallation
response = client.mcp.servers.installations.create("42", { document_auth: {  }, name: "Acme MCP", slug: "acme-api" })

puts response.inspect
Get an installation

Get a single installation of an MCP server.

Direction Type
Request InstallationRetrieveParams
Response Mcp::McpInstallation
response = client.mcp.servers.installations.retrieve("84", { id: "42" })

puts response.inspect
Update an installation

Update an installation. Set isPrivate and add access groups to put it behind a login.

Direction Type
Request InstallationUpdateParams
Response Mcp::McpInstallation
response = client.mcp.servers.installations.update("84", { id: "42", document_auth: {  }, is_private: false, login_portal_uid: "", mcp_version: "", name: "Acme MCP", slug: "acme-api" })

puts response.inspect
Delete an installation

Delete an installation of an MCP server.

Direction Type
Request InstallationDeleteParams
response = client.mcp.servers.installations.delete("84", { id: "42" })

puts response.inspect
Add an access group

Let an access group reach a private installation.

Direction Type
Request InstallationCreateAccessGroupParams
response = client.mcp.servers.installations.create_access_group("84", { id: "42", access_group_uid: "UakgbKJ5m9gl0JDMbcJqL" })

puts response.inspect
Remove an access group

Stop an access group reaching a private installation.

Direction Type
Request InstallationDeleteAccessGroupParams
response = client.mcp.servers.installations.delete_access_group("84", { id: "42", access_group_uid: "UakgbKJ5m9gl0JDMbcJqL" })

puts response.inspect