Complete reference of every operation, grouped by resource. See the README for usage and configuration.
RegistrySchemasLoginPortalsAccessGroupsRulesThemesTeamsScalarDocsNamespacesAuthenticationSdksMcp
import com.scalar.client.ScalarClient;
import com.scalar.client.okhttp.ScalarOkHttpClient;
ScalarClient client =
ScalarOkHttpClient.builder().bearerAuth(System.getenv("BEARER_AUTH")).build();Registry
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.
| 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 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 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 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 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 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 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 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 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 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 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
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 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 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 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
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 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 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
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 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);Login Portals
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 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.
| 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 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 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);Access Groups
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 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 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 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);Access Groups
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 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
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 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 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 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 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);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 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
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 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.
| 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);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 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 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
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
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 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 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
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);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);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);Scalar Docs
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 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);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 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. 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 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 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, 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);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 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);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);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);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
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
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 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
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 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 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 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 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);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
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);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
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 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);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
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 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 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 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 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
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 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. 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 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);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);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);