Skip to content

Latest commit

 

History

History
2433 lines (1756 loc) · 78.9 KB

api.md

File metadata and controls

2433 lines (1756 loc) · 78.9 KB

Scalar Java API

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

Contents

Setup

import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

Registry

Registry

List all API Documents

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

Direction Type
Request RegistryListAllApiDocumentsParams
Response List<ApiDocument>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var registry = client.registry().listAllApiDocuments();

System.out.println(registry);

List API Documents in a namespace

List API documents in a namespace.

Direction Type
Request RegistryListApiDocumentsParams
Response List<ApiDocument>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryListApiDocumentsParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryListApiDocumentsParams params =
    RegistryListApiDocumentsParams.builder().namespace("acme").build();
var registry = client.registry().listApiDocuments(params);

System.out.println(registry);

Create API Document

Create an API document.

Direction Type
Request RegistryCreateApiDocumentParams
Response RegistryCreateApiDocumentResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryCreateApiDocumentParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryCreateApiDocumentParams params =
    RegistryCreateApiDocumentParams.builder()
        .namespace("acme")
        .title("Acme API")
        .version("1.2.0")
        .slug("acme-api")
        .document(
            "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme"
                + " API\",\"version\":\"1.2.0\"},\"paths\":{}}")
        .build();
var registry = client.registry().createApiDocument(params);

System.out.println(registry);

Update API Document metadata

Update metadata for an API document.

Direction Type
Request RegistryUpdateApiDocumentParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryUpdateApiDocumentParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryUpdateApiDocumentParams params =
    RegistryUpdateApiDocumentParams.builder().namespace("acme").slug("acme-api").build();
var registry = client.registry().updateApiDocument(params);

System.out.println(registry);

Delete API Document

Delete an API document and all versions.

Direction Type
Request RegistryDeleteApiDocumentParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryDeleteApiDocumentParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryDeleteApiDocumentParams params =
    RegistryDeleteApiDocumentParams.builder().namespace("acme").slug("acme-api").build();
var registry = client.registry().deleteApiDocument(params);

System.out.println(registry);

Get API Document

Get a specific API document version.

Direction Type
Request RegistryRetrieveApiDocumentVersionParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryRetrieveApiDocumentVersionParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryRetrieveApiDocumentVersionParams params =
    RegistryRetrieveApiDocumentVersionParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .semver("1.2.0")
        .build();
var registry = client.registry().retrieveApiDocumentVersion(params);

System.out.println(registry);

Update API Document version

Update the registry file content for an API document version.

Direction Type
Request RegistryUpdateApiDocumentVersionParams
Response RegistryUpdateApiDocumentVersionResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryUpdateApiDocumentVersionParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryUpdateApiDocumentVersionParams params =
    RegistryUpdateApiDocumentVersionParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .semver("1.2.0")
        .document(
            "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme"
                + " API\",\"version\":\"1.2.0\"},\"paths\":{}}")
        .build();
var registry = client.registry().updateApiDocumentVersion(params);

System.out.println(registry);

Delete API Document version

Delete a specific API document version.

Direction Type
Request RegistryDeleteApiDocumentVersionParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryDeleteApiDocumentVersionParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryDeleteApiDocumentVersionParams params =
    RegistryDeleteApiDocumentVersionParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .semver("1.2.0")
        .build();
var registry = client.registry().deleteApiDocumentVersion(params);

System.out.println(registry);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryListApiDocumentVersionMetadataParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryListApiDocumentVersionMetadataParams params =
    RegistryListApiDocumentVersionMetadataParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .semver("1.2.0")
        .build();
var registry = client.registry().listApiDocumentVersionMetadata(params);

System.out.println(registry);

Create API Document version

Create a new API document version.

Direction Type
Request RegistryCreateApiDocumentVersionParams
Response ManagedDocVersion
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.RegistryCreateApiDocumentVersionParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryCreateApiDocumentVersionParams params =
    RegistryCreateApiDocumentVersionParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .version("1.2.0")
        .document(
            "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Acme"
                + " API\",\"version\":\"1.2.0\"},\"paths\":{}}")
        .build();
var registry = client.registry().createApiDocumentVersion(params);

System.out.println(registry);

Add access group

Add an access group to an API document.

Direction Type
Request RegistryCreateApiDocumentAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.registry.RegistryCreateApiDocumentAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryCreateApiDocumentAccessGroupParams params =
    RegistryCreateApiDocumentAccessGroupParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var registry = client.registry().createApiDocumentAccessGroup(params);

System.out.println(registry);

Remove access group

Remove an access group from an API document.

Direction Type
Request RegistryDeleteApiDocumentAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.registry.RegistryDeleteApiDocumentAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RegistryDeleteApiDocumentAccessGroupParams params =
    RegistryDeleteApiDocumentAccessGroupParams.builder()
        .namespace("acme")
        .slug("acme-api")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var registry = client.registry().deleteApiDocumentAccessGroup(params);

System.out.println(registry);

Schemas

Schemas

List all shared components

List schemas in a namespace.

Direction Type
Request SchemaListParams
Response List<Schema>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.SchemaListParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SchemaListParams params = SchemaListParams.builder().namespace("acme").build();
var schema = client.schemas().list(params);

System.out.println(schema);

Create a shared component

Create a schema in a namespace.

Direction Type
Request SchemaCreateParams
Response Uid
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.SchemaCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SchemaCreateParams params =
    SchemaCreateParams.builder()
        .namespace("acme")
        .title("Customer")
        .version("1.2.0")
        .slug("customer")
        .document(
            "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"examples\":[\"Acme\"]}}}")
        .build();
var schema = client.schemas().create(params);

System.out.println(schema);

Update shared component metadata

Update schema metadata.

Direction Type
Request SchemaUpdateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.SchemaUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SchemaUpdateParams params =
    SchemaUpdateParams.builder().namespace("acme").slug("customer").build();
var schema = client.schemas().update(params);

System.out.println(schema);

Delete a shared component

Delete a schema and all related versions.

Direction Type
Request SchemaDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.SchemaDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SchemaDeleteParams params =
    SchemaDeleteParams.builder().namespace("acme").slug("customer").build();
var schema = client.schemas().delete(params);

System.out.println(schema);

Schemas Version

Schemas

Get a shared component document

Get a specific schema version document.

Direction Type
Request VersionRetrieveParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.version.VersionRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

VersionRetrieveParams params =
    VersionRetrieveParams.builder().namespace("acme").slug("customer").semver("1.2.0").build();
var version = client.schemas().version().retrieve(params);

System.out.println(version);

Delete a shared component version

Delete a schema version.

Direction Type
Request VersionDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.version.VersionDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

VersionDeleteParams params =
    VersionDeleteParams.builder().namespace("acme").slug("customer").semver("1.2.0").build();
var version = client.schemas().version().delete(params);

System.out.println(version);

Create a shared component version

Create a schema version.

Direction Type
Request VersionCreateParams
Response VersionCreateResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.schemas.version.VersionCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

VersionCreateParams params =
    VersionCreateParams.builder()
        .namespace("acme")
        .slug("customer")
        .version("1.2.0")
        .document(
            "{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"examples\":[\"Acme\"]}}}")
        .build();
var version = client.schemas().version().create(params);

System.out.println(version);

Schemas AccessGroup

Schemas

Add shared component access group

Add an access group to a schema.

Direction Type
Request AccessGroupCreateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.schemas.accessgroup.AccessGroupCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AccessGroupCreateParams params =
    AccessGroupCreateParams.builder()
        .namespace("acme")
        .slug("customer")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var accessGroup = client.schemas().accessGroup().create(params);

System.out.println(accessGroup);

Remove shared component access group

Remove an access group from a schema.

Direction Type
Request AccessGroupDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.schemas.accessgroup.AccessGroupDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AccessGroupDeleteParams params =
    AccessGroupDeleteParams.builder()
        .namespace("acme")
        .slug("customer")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var accessGroup = client.schemas().accessGroup().delete(params);

System.out.println(accessGroup);

LoginPortals

Login Portals

Get a login portal

Get a login portal by slug.

Direction Type
Request LoginPortalRetrieveParams
Response LoginPortalRetrieveResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.loginportals.LoginPortalRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

LoginPortalRetrieveParams params =
    LoginPortalRetrieveParams.builder().slug("acme-login").build();
var loginPortal = client.loginPortals().retrieve(params);

System.out.println(loginPortal);

Update portal metadata

Update metadata for a login portal.

Direction Type
Request LoginPortalUpdateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.loginportals.LoginPortalUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

LoginPortalUpdateParams params = LoginPortalUpdateParams.builder().slug("acme-login").build();
var loginPortal = client.loginPortals().update(params);

System.out.println(loginPortal);

Delete a login portal

Delete a login portal.

Direction Type
Request LoginPortalDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.loginportals.LoginPortalDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

LoginPortalDeleteParams params = LoginPortalDeleteParams.builder().slug("acme-login").build();
var loginPortal = client.loginPortals().delete(params);

System.out.println(loginPortal);

Create a portal

Create a login portal for the current team.

Direction Type
Request LoginPortalCreateParams
Response Uid
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.loginportals.LoginPortalCreateParams;
import com.scalar.models.loginportals.LoginPortalEmail;
import com.scalar.models.loginportals.LoginPortalPage;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

LoginPortalCreateParams params =
    LoginPortalCreateParams.builder()
        .title("Acme Private Documentation")
        .slug("acme-login")
        .email(
            LoginPortalEmail.builder()
                .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")
                .build())
        .page(
            LoginPortalPage.builder()
                .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("")
                .build())
        .build();
var loginPortal = client.loginPortals().create(params);

System.out.println(loginPortal);

List all portals

List all login portals for the current team.

Direction Type
Request LoginPortalListParams
Response List<LoginPortal>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var loginPortal = client.loginPortals().list();

System.out.println(loginPortal);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var accessGroup = client.accessGroups().create();

System.out.println(accessGroup);

Get an access group

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

Direction Type
Request AccessGroupRetrieveParams
Response AccessGroupRetrieveResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.accessgroups.AccessGroupRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AccessGroupRetrieveParams params = AccessGroupRetrieveParams.builder().slug("acme-api").build();
var accessGroup = client.accessGroups().retrieve(params);

System.out.println(accessGroup);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.accessgroups.AccessGroupUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AccessGroupUpdateParams params = AccessGroupUpdateParams.builder().pathSlug("acme-api").build();
var accessGroup = client.accessGroups().update(params);

System.out.println(accessGroup);

Delete an access group

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

Direction Type
Request AccessGroupDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.accessgroups.AccessGroupDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AccessGroupDeleteParams params = AccessGroupDeleteParams.builder().slug("acme-api").build();
var accessGroup = client.accessGroups().delete(params);

System.out.println(accessGroup);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.accessgroups.domains.DomainCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

DomainCreateParams params =
    DomainCreateParams.builder().slug("acme-api").domain("example.com").build();
var domain = client.accessGroups().domains().create(params);

System.out.println(domain);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.accessgroups.domains.DomainDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

DomainDeleteParams params =
    DomainDeleteParams.builder().slug("acme-api").domain("example.com").build();
var domain = client.accessGroups().domains().delete(params);

System.out.println(domain);

Rules

Rules

List all rules

List all rulesets in a namespace.

Direction Type
Request RuleListRulesetsParams
Response List<Rule>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.rules.RuleListRulesetsParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleListRulesetsParams params = RuleListRulesetsParams.builder().namespace("acme").build();
var rule = client.rules().listRulesets(params);

System.out.println(rule);

Create a rule

Create a rule in a namespace.

Direction Type
Request RuleCreateRulesetParams
Response Uid
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.rules.RuleCreateRulesetParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleCreateRulesetParams params =
    RuleCreateRulesetParams.builder()
        .namespace("acme")
        .title("Acme API Rules")
        .slug("acme-rules")
        .document("extends: [\"spectral:oas\"]\nrules:\n  info-contact: warn\n")
        .build();
var rule = client.rules().createRuleset(params);

System.out.println(rule);

Update rule metadata

Update rule metadata by slug.

Direction Type
Request RuleUpdateRulesetParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.rules.RuleUpdateRulesetParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleUpdateRulesetParams params =
    RuleUpdateRulesetParams.builder().pathNamespace("acme").pathSlug("acme-rules").build();
var rule = client.rules().updateRuleset(params);

System.out.println(rule);

Delete a rule

Delete a rule by slug.

Direction Type
Request RuleDeleteRulesetParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.rules.RuleDeleteRulesetParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleDeleteRulesetParams params =
    RuleDeleteRulesetParams.builder().namespace("acme").slug("acme-rules").build();
var rule = client.rules().deleteRuleset(params);

System.out.println(rule);

Get a rule

Get a rule document by slug.

Direction Type
Request RuleRetrieveRulesetDocumentParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.rules.RuleRetrieveRulesetDocumentParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleRetrieveRulesetDocumentParams params =
    RuleRetrieveRulesetDocumentParams.builder().namespace("acme").slug("acme-rules").build();
var rule = client.rules().retrieveRulesetDocument(params);

System.out.println(rule);

Add rule access group

Grant an access group to a rule.

Direction Type
Request RuleCreateRulesetAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.rules.RuleCreateRulesetAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleCreateRulesetAccessGroupParams params =
    RuleCreateRulesetAccessGroupParams.builder()
        .namespace("acme")
        .slug("acme-rules")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var rule = client.rules().createRulesetAccessGroup(params);

System.out.println(rule);

Remove rule access group

Remove an access group from a rule.

Direction Type
Request RuleDeleteRulesetAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.registry.AccessGroup;
import com.scalar.models.rules.RuleDeleteRulesetAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RuleDeleteRulesetAccessGroupParams params =
    RuleDeleteRulesetAccessGroupParams.builder()
        .namespace("acme")
        .slug("acme-rules")
        .accessGroup(AccessGroup.builder().accessGroupSlug("acme-api").build())
        .build();
var rule = client.rules().deleteRulesetAccessGroup(params);

System.out.println(rule);

Themes

Themes

List all themes

List all team themes.

Direction Type
Request ThemeListParams
Response List<Theme>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var theme = client.themes().list();

System.out.println(theme);

Create a theme

Create a team theme.

Direction Type
Request ThemeCreateParams
Response Uid
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.themes.ThemeCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ThemeCreateParams params =
    ThemeCreateParams.builder()
        .name("Acme Theme")
        .slug("acme-theme")
        .document(":root { --scalar-color-1: #1f2937; }")
        .build();
var theme = client.themes().create(params);

System.out.println(theme);

Update theme metadata

Update theme metadata.

Direction Type
Request ThemeUpdateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.themes.ThemeUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ThemeUpdateParams params = ThemeUpdateParams.builder().slug("acme-theme").build();
var theme = client.themes().update(params);

System.out.println(theme);

Update theme document

Replace the theme document.

Direction Type
Request ThemeReplaceDocumentParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.themes.ThemeReplaceDocumentParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ThemeReplaceDocumentParams params =
    ThemeReplaceDocumentParams.builder()
        .slug("acme-theme")
        .document(":root { --scalar-color-1: #1f2937; }")
        .build();
var theme = client.themes().replaceDocument(params);

System.out.println(theme);

Delete a theme

Delete a theme by slug.

Direction Type
Request ThemeDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.themes.ThemeDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ThemeDeleteParams params = ThemeDeleteParams.builder().slug("acme-theme").build();
var theme = client.themes().delete(params);

System.out.println(theme);

Get a theme

Get the theme document by slug.

Direction Type
Request ThemeRetrieveParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.themes.ThemeRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ThemeRetrieveParams params = ThemeRetrieveParams.builder().slug("acme-theme").build();
var theme = client.themes().retrieve(params);

System.out.println(theme);

Teams

Teams

List teams

List all available teams

Direction Type
Request TeamListParams
Response List<Team>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var team = client.teams().list();

System.out.println(team);

Teams Members

Teams

List team members

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

Direction Type
Request MemberListParams
Response MemberListResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var member = client.teams().members().list();

System.out.println(member);

Change a member role

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

Direction Type
Request MemberUpdateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.teams.invites.Role;
import com.scalar.models.teams.members.MemberUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

MemberUpdateParams params =
    MemberUpdateParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").role(Role.OWNER).build();
var member = client.teams().members().update(params);

System.out.println(member);

Remove a member

Remove someone from the current team.

Direction Type
Request MemberDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.teams.members.MemberDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

MemberDeleteParams params = MemberDeleteParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var member = client.teams().members().delete(params);

System.out.println(member);

Teams Invites

Teams

Invite a member

Invite someone to the current team by email.

Direction Type
Request InviteMemberParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.teams.invites.InviteMemberParams;
import com.scalar.models.teams.invites.Role;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InviteMemberParams params =
    InviteMemberParams.builder().email("alex@example.com").role(Role.OWNER).build();
var invite = client.teams().invites().member(params);

System.out.println(invite);

Resend an invite

Send the invite email again.

Direction Type
Request InviteResendParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.teams.invites.InviteResendParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InviteResendParams params = InviteResendParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var invite = client.teams().invites().resend(params);

System.out.println(invite);

Cancel an invite

Withdraw an invite that has not been accepted.

Direction Type
Request InviteCancelParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.teams.invites.InviteCancelParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InviteCancelParams params = InviteCancelParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var invite = client.teams().invites().cancel(params);

System.out.println(invite);

ScalarDocs

Scalar Docs

List all projects

List all guide projects.

Direction Type
Request ScalarDocListGuidesParams
Response List<GithubProject>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var scalarDoc = client.scalarDocs().listGuides();

System.out.println(scalarDoc);

Create a project

Create a guide project.

Direction Type
Request ScalarDocCreateGuideParams
Response ScalarDocCreateGuideResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocCreateGuideParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocCreateGuideParams params =
    ScalarDocCreateGuideParams.builder()
        .name("Acme Documentation")
        .isPrivate(false)
        .allowedUsers(java.util.List.of())
        .allowedDomains(java.util.List.of())
        .build();
var scalarDoc = client.scalarDocs().createGuide(params);

System.out.println(scalarDoc);

Publish a project

Start a new publish process.

Direction Type
Request ScalarDocPublishGuideParams
Response ScalarDocPublishGuideResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocPublishGuideParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocPublishGuideParams params =
    ScalarDocPublishGuideParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().publishGuide(params);

System.out.println(scalarDoc);

List all docs projects

List every docs project on the team.

Direction Type
Request ScalarDocListProjectsParams
Response ScalarDocListProjectsResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var scalarDoc = client.scalarDocs().listProjects();

System.out.println(scalarDoc);

Create a docs project

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

Direction Type
Request ScalarDocCreateProjectParams
Response DocsProject
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocCreateProjectParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocCreateProjectParams params =
    ScalarDocCreateProjectParams.builder()
        .name("Acme Documentation")
        .provider(ScalarDocCreateProjectParams.Provider.of("forgejo"))
        .build();
var scalarDoc = client.scalarDocs().createProject(params);

System.out.println(scalarDoc);

Get a docs project

Get a single docs project by its slug.

Direction Type
Request ScalarDocRetrieveProjectParams
Response DocsProject
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocRetrieveProjectParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocRetrieveProjectParams params =
    ScalarDocRetrieveProjectParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().retrieveProject(params);

System.out.println(scalarDoc);

Update a docs project

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

Direction Type
Request ScalarDocUpdateProjectParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocUpdateProjectParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocUpdateProjectParams params =
    ScalarDocUpdateProjectParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().updateProject(params);

System.out.println(scalarDoc);

Delete a docs project

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

Direction Type
Request ScalarDocDeleteProjectParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocDeleteProjectParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocDeleteProjectParams params =
    ScalarDocDeleteProjectParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().deleteProject(params);

System.out.println(scalarDoc);

Publish a docs project

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

Direction Type
Request ScalarDocPublishProjectParams
Response ScalarDocPublishProjectResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocPublishProjectParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocPublishProjectParams params =
    ScalarDocPublishProjectParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().publishProject(params);

System.out.println(scalarDoc);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocListProjectConfigParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocListProjectConfigParams params =
    ScalarDocListProjectConfigParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().listProjectConfig(params);

System.out.println(scalarDoc);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocUpdateProjectConfigParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocUpdateProjectConfigParams params =
    ScalarDocUpdateProjectConfigParams.builder()
        .slug("acme-docs")
        .content("{\"name\":\"Acme Documentation\"}")
        .build();
var scalarDoc = client.scalarDocs().updateProjectConfig(params);

System.out.println(scalarDoc);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocListProjectDomainParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocListProjectDomainParams params =
    ScalarDocListProjectDomainParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().listProjectDomain(params);

System.out.println(scalarDoc);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.scalardocs.ScalarDocListProjectDomainStatusParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ScalarDocListProjectDomainStatusParams params =
    ScalarDocListProjectDomainStatusParams.builder().slug("acme-docs").build();
var scalarDoc = client.scalarDocs().listProjectDomainStatus(params);

System.out.println(scalarDoc);

Namespaces

Namespaces

List namespaces

Get all namespaces for the current team

Direction Type
Request NamespaceListParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var namespace = client.namespaces().list();

System.out.println(namespace);

Authentication

Authentication

Exchange token

Exchange an API key for an access token.

Direction Type
Request AuthenticationExchangePersonalTokenParams
Response AuthenticationExchangePersonalTokenResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.authentication.AuthenticationExchangePersonalTokenParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

AuthenticationExchangePersonalTokenParams params =
    AuthenticationExchangePersonalTokenParams.builder()
        .personalToken("scalar_example_personal_token")
        .build();
var authentication = client.authentication().exchangePersonalToken(params);

System.out.println(authentication);

Get current user

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

Direction Type
Request AuthenticationListCurrentUserParams
Response User
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var authentication = client.authentication().listCurrentUser();

System.out.println(authentication);

Sdks

SDKs

List all SDKs

List every SDK on the team.

Direction Type
Request SdkListParams
Response SdkListResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var sdk = client.sdks().list();

System.out.println(sdk);

Create an SDK

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

Direction Type
Request SdkCreateParams
Response Uid
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.SdkCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SdkCreateParams params =
    SdkCreateParams.builder()
        .apiUid("UakgbKJ5m9gl0JDMbcJqL")
        .languages(java.util.List.of(SdkCreateParams.Language.of("typescript")))
        .build();
var sdk = client.sdks().create(params);

System.out.println(sdk);

Get an SDK

Get a single SDK by its uid.

Direction Type
Request SdkRetrieveParams
Response Sdk
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.SdkRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SdkRetrieveParams params = SdkRetrieveParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var sdk = client.sdks().retrieve(params);

System.out.println(sdk);

Update an SDK

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

Direction Type
Request SdkUpdateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.SdkUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SdkUpdateParams params = SdkUpdateParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var sdk = client.sdks().update(params);

System.out.println(sdk);

Delete an SDK

Delete an SDK and every version it holds.

Direction Type
Request SdkDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.SdkDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SdkDeleteParams params = SdkDeleteParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var sdk = client.sdks().delete(params);

System.out.println(sdk);

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
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.SdkBuildParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

SdkBuildParams params = SdkBuildParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").build();
var sdk = client.sdks().build(params);

System.out.println(sdk);

Sdks Versions

SDKs

Create an SDK version

Create a new SDK version against a specific API version.

Direction Type
Request VersionCreateParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.versions.VersionCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

VersionCreateParams params =
    VersionCreateParams.builder()
        .uid("UakgbKJ5m9gl0JDMbcJqL")
        .version("1.2.0")
        .apiVersion("1.2.0")
        .build();
var version = client.sdks().versions().create(params);

System.out.println(version);

Delete an SDK version

Permanently delete one version of an SDK.

Direction Type
Request VersionDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.versions.VersionDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

VersionDeleteParams params =
    VersionDeleteParams.builder().uid("UakgbKJ5m9gl0JDMbcJqL").version("1.2.0").build();
var version = client.sdks().versions().delete(params);

System.out.println(version);

Sdks Repositories

SDKs

Link a repository

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

Direction Type
Request RepositoryLinkParams
Response RepositoryLinkResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.repositories.RepositoryLinkParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RepositoryLinkParams params =
    RepositoryLinkParams.builder()
        .uid("UakgbKJ5m9gl0JDMbcJqL")
        .language(RepositoryLinkParams.Language.of("typescript"))
        .repositoryId(123456789L)
        .baseBranch("main")
        .build();
var repository = client.sdks().repositories().link(params);

System.out.println(repository);

Unlink a repository

Unlink one language target from its repository.

Direction Type
Request RepositoryUnlinkParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.repositories.RepositoryUnlinkParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RepositoryUnlinkParams params =
    RepositoryUnlinkParams.builder()
        .uid("UakgbKJ5m9gl0JDMbcJqL")
        .language(RepositoryUnlinkParams.Language.of("typescript"))
        .build();
var repository = client.sdks().repositories().unlink(params);

System.out.println(repository);

Update publishing settings

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

Direction Type
Request RepositoryUpdatePublishingParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.sdks.repositories.RepositoryUpdatePublishingParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

RepositoryUpdatePublishingParams params =
    RepositoryUpdatePublishingParams.builder()
        .uid("UakgbKJ5m9gl0JDMbcJqL")
        .language(RepositoryUpdatePublishingParams.Language.of("typescript"))
        .publishOnMerge(true)
        .build();
var repository = client.sdks().repositories().updatePublishing(params);

System.out.println(repository);

Mcp

Mcp Servers

MCP

List all MCP servers

List every MCP server on the team.

Direction Type
Request ServerListParams
Response List<McpServer>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

var server = client.mcp().servers().list();

System.out.println(server);

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 ServerCreateResponse
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.ServerCreateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ServerCreateParams params = ServerCreateParams.builder().name("Acme MCP").build();
var server = client.mcp().servers().create(params);

System.out.println(server);

Get an MCP server

Get a single MCP server by its id.

Direction Type
Request ServerRetrieveParams
Response McpServer
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.ServerRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ServerRetrieveParams params = ServerRetrieveParams.builder().id("42").build();
var server = client.mcp().servers().retrieve(params);

System.out.println(server);

Update an MCP server

Update MCP server metadata and which tools it exposes.

Direction Type
Request ServerUpdateParams
Response McpServer
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.ServerUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ServerUpdateParams params = ServerUpdateParams.builder().id("42").build();
var server = client.mcp().servers().update(params);

System.out.println(server);

Delete an MCP server

Delete an MCP server and every installation it serves.

Direction Type
Request ServerDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.ServerDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

ServerDeleteParams params = ServerDeleteParams.builder().id("42").build();
var server = client.mcp().servers().delete(params);

System.out.println(server);

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 List<McpInstallationListItem>
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationListParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationListParams params = InstallationListParams.builder().id("42").build();
var installation = client.mcp().servers().installations().list(params);

System.out.println(installation);
Get an installation

Get a single installation of an MCP server. Deprecated: address the environment by slug with the /environments/:environment form.

Direction Type
Request InstallationRetrieveParams
Response McpInstallation
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationRetrieveParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationRetrieveParams params =
    InstallationRetrieveParams.builder().id("42").installationId("84").build();
var installation = client.mcp().servers().installations().retrieve(params);

System.out.println(installation);
Update an installation

Update an installation. Deprecated: address the environment by slug with the /environments/:environment form.

Direction Type
Request InstallationUpdateParams
Response McpInstallation
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationUpdateParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationUpdateParams params =
    InstallationUpdateParams.builder().id("42").installationId("84").build();
var installation = client.mcp().servers().installations().update(params);

System.out.println(installation);
Delete an installation

Delete an installation of an MCP server. Deprecated: address the environment by slug with the /environments/:environment form.

Direction Type
Request InstallationDeleteParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationDeleteParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationDeleteParams params =
    InstallationDeleteParams.builder().id("42").installationId("84").build();
var installation = client.mcp().servers().installations().delete(params);

System.out.println(installation);
Add an access group

Let an access group reach a private installation. Requires a team admin. Deprecated: address the environment by slug with the /environments/:environment form.

Direction Type
Request InstallationCreateAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationCreateAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationCreateAccessGroupParams params =
    InstallationCreateAccessGroupParams.builder()
        .id("42")
        .installationId("84")
        .accessGroupUid("UakgbKJ5m9gl0JDMbcJqL")
        .build();
var installation = client.mcp().servers().installations().createAccessGroup(params);

System.out.println(installation);
Remove an access group

Stop an access group reaching a private installation. Requires a team admin. Deprecated: address the environment by slug with the /environments/:environment form.

Direction Type
Request InstallationDeleteAccessGroupParams
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
import com.scalar.models.mcp.servers.installations.InstallationDeleteAccessGroupParams;

ScalarClient client =
    ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();

InstallationDeleteAccessGroupParams params =
    InstallationDeleteAccessGroupParams.builder()
        .id("42")
        .installationId("84")
        .accessGroupUid("UakgbKJ5m9gl0JDMbcJqL")
        .build();
var installation = client.mcp().servers().installations().deleteAccessGroup(params);

System.out.println(installation);