@snokam/platform-client 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.1.0](https://github.com/GIT_USER_ID/GIT_REPO_ID/compare/@snokam/platform-client@3.0.0...@snokam/platform-client@3.1.0) (2026-10-02)
7
+
8
+
9
+ ### Features
10
+
11
+ * **auth:** let MCP clients sign in through the Snøsky login ([#2542](https://github.com/GIT_USER_ID/GIT_REPO_ID/issues/2542)) ([5ea6750](https://github.com/GIT_USER_ID/GIT_REPO_ID/commit/5ea67501bde43d999d518e41f98611af2536ff23))
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.0.0](https://github.com/GIT_USER_ID/GIT_REPO_ID/compare/@snokam/platform-client@2.0.0...@snokam/platform-client@3.0.0) (2026-10-01)
7
18
 
8
19
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @snokam/platform-client@1.0.0
1
+ # @snokam/platform-client@3.0.0
2
2
 
3
3
  A TypeScript SDK client for the snokam.snosky.no API.
4
4
 
@@ -58,6 +58,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
58
58
  | ----- | ------ | ------------ | -------------
59
59
  *PlatformClient* | [**addCustomDomain**](docs/PlatformClient.md#addcustomdomainoperation) | **POST** /v1.0/protected/businesses/{id}/custom-domains | Add a custom domain
60
60
  *PlatformClient* | [**approveDevice**](docs/PlatformClient.md#approvedeviceoperation) | **POST** /v1.0/protected/businesses/{id}/devices | Approve a screen into this business
61
+ *PlatformClient* | [**approveOAuthAuthorization**](docs/PlatformClient.md#approveoauthauthorization) | **POST** /v1.0/protected/oauth/authorization | Approve an authorization request as the signed-in user
61
62
  *PlatformClient* | [**assignBusinessEmployeeSystem**](docs/PlatformClient.md#assignbusinessemployeesystem) | **POST** /v1.0/protected/businesses/{id}/employees/{upn}/systems/{systemKey} | Grant an employee a seat in a third-party system
62
63
  *PlatformClient* | [**backfillBridgeWebhook**](docs/PlatformClient.md#backfillbridgewebhook) | **POST** /v1.0/protected/businesses/{id}/bridge-webhook | Re-create a business\'s Sanity bridge webhook with a managed API key
63
64
  *PlatformClient* | [**checkIntegration**](docs/PlatformClient.md#checkintegration) | **POST** /v1.0/protected/businesses/{id}/integrations/{key}/check | Run a live integration connectivity check
@@ -148,6 +149,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
148
149
  *PlatformClient* | [**powerOfficeOnboardingReturn**](docs/PlatformClient.md#powerofficeonboardingreturn) | **GET** /v1.0/connect/poweroffice/return/{reference} | PowerOffice onboarding return
149
150
  *PlatformClient* | [**previewBillingInvoice**](docs/PlatformClient.md#previewbillinginvoice) | **POST** /v1.0/protected/businesses/{id}/billing/invoice-preview | Preview a month\'s invoice basis
150
151
  *PlatformClient* | [**previewDevice**](docs/PlatformClient.md#previewdevice) | **GET** /v1.0/protected/businesses/{id}/devices/preview | Look up a pairing code before approving
152
+ *PlatformClient* | [**previewOAuthAuthorization**](docs/PlatformClient.md#previewoauthauthorization) | **POST** /v1.0/protected/oauth/authorization/preview | Describe an authorization request before the user approves it
151
153
  *PlatformClient* | [**provisionBusiness**](docs/PlatformClient.md#provisionbusiness) | **POST** /v1.0/protected/businesses/{id}/provision | Provision a business
152
154
  *PlatformClient* | [**publicCapabilities**](docs/PlatformClient.md#publiccapabilities) | **GET** /v1.0/public/capabilities | Get capabilities
153
155
  *PlatformClient* | [**publicModules**](docs/PlatformClient.md#publicmodules) | **GET** /v1.0/public/modules | Get available modules
@@ -200,6 +202,8 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
200
202
  - [AppCatalogEntry](docs/AppCatalogEntry.md)
201
203
  - [AppModule](docs/AppModule.md)
202
204
  - [ApproveDeviceRequest](docs/ApproveDeviceRequest.md)
205
+ - [AuthorizationPreview](docs/AuthorizationPreview.md)
206
+ - [AuthorizationRequest](docs/AuthorizationRequest.md)
203
207
  - [BillingPaymentMethod](docs/BillingPaymentMethod.md)
204
208
  - [BillingSessionRequest](docs/BillingSessionRequest.md)
205
209
  - [BillingSessionResponse](docs/BillingSessionResponse.md)
@@ -254,6 +258,7 @@ All URIs are relative to *https://snokam.snosky.no/api/platform*
254
258
  - [InviteCredentialRequest](docs/InviteCredentialRequest.md)
255
259
  - [InvoiceBasis](docs/InvoiceBasis.md)
256
260
  - [InvoiceBasisLine](docs/InvoiceBasisLine.md)
261
+ - [IssuedAuthorizationCode](docs/IssuedAuthorizationCode.md)
257
262
  - [LoginConfig](docs/LoginConfig.md)
258
263
  - [MeApp](docs/MeApp.md)
259
264
  - [MeterEnforcementDecision](docs/MeterEnforcementDecision.md)
@@ -384,7 +389,7 @@ and is automatically generated by the
384
389
  [OpenAPI Generator](https://openapi-generator.tech) project:
385
390
 
386
391
  - API version: `v1.0.0`
387
- - Package version: `1.0.0`
392
+ - Package version: `3.0.0`
388
393
  - Generator version: `7.23.0`
389
394
  - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
390
395
 
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, ChooseProviderRequest, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, ProviderCatalogResponse, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest, SetFacebookAccountRequest, SetGoogleAnalyticsPropertyRequest, SetPlatformSecretRequest, SetScopeGrantsRequest, SetWorkReposRequest, SetWorkspaceRepoRequest, SignupConfig, SignupRequest, SignupResult, SsoExchangeRequest, StartImpersonationRequest, StartImpersonationResult, StudioSanityConfig, TeamsAcsTokenResponse, TeamsAuthStateResponse, TenantInfo, TenantSanityCredentials, TokenExchangeRequest, TokenExchangeResult, TokenReconciliationReport, TotpEnrollRequest, TotpEnrollResult, UpdateAppsRequest, UpdateSecretsRequest, UsageDailySeries, UsageEventsRequest, UsageRollup, UsageSummary, VerifyApiTokenRequest, WorkReposSelection, WorkspaceRepoSelection } from '../models/index';
13
+ import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, AuthorizationPreview, AuthorizationRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, ChooseProviderRequest, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, IssuedAuthorizationCode, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, ProviderCatalogResponse, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest, SetFacebookAccountRequest, SetGoogleAnalyticsPropertyRequest, SetPlatformSecretRequest, SetScopeGrantsRequest, SetWorkReposRequest, SetWorkspaceRepoRequest, SignupConfig, SignupRequest, SignupResult, SsoExchangeRequest, StartImpersonationRequest, StartImpersonationResult, StudioSanityConfig, TeamsAcsTokenResponse, TeamsAuthStateResponse, TenantInfo, TenantSanityCredentials, TokenExchangeRequest, TokenExchangeResult, TokenReconciliationReport, TotpEnrollRequest, TotpEnrollResult, UpdateAppsRequest, UpdateSecretsRequest, UsageDailySeries, UsageEventsRequest, UsageRollup, UsageSummary, VerifyApiTokenRequest, WorkReposSelection, WorkspaceRepoSelection } from '../models/index';
14
14
  export interface AddCustomDomainOperationRequest {
15
15
  id: string;
16
16
  addCustomDomainRequest: AddCustomDomainRequest;
@@ -19,6 +19,9 @@ export interface ApproveDeviceOperationRequest {
19
19
  id: string;
20
20
  approveDeviceRequest: ApproveDeviceRequest;
21
21
  }
22
+ export interface ApproveOAuthAuthorizationRequest {
23
+ authorizationRequest: AuthorizationRequest;
24
+ }
22
25
  export interface AssignBusinessEmployeeSystemRequest {
23
26
  id: string;
24
27
  upn: string;
@@ -266,6 +269,9 @@ export interface PreviewDeviceRequest {
266
269
  id: string;
267
270
  code: string;
268
271
  }
272
+ export interface PreviewOAuthAuthorizationRequest {
273
+ authorizationRequest: AuthorizationRequest;
274
+ }
269
275
  export interface ProvisionBusinessRequest {
270
276
  id: string;
271
277
  }
@@ -429,6 +435,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
429
435
  * Approve a screen into this business
430
436
  */
431
437
  approveDevice(requestParameters: ApproveDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeviceScreen>;
438
+ /**
439
+ * Creates request options for approveOAuthAuthorization without sending the request
440
+ */
441
+ approveOAuthAuthorizationRequestOpts(requestParameters: ApproveOAuthAuthorizationRequest): Promise<runtime.RequestOpts>;
442
+ /**
443
+ * Issues a single-use authorization code the client redeems at the token endpoint.
444
+ * Approve an authorization request as the signed-in user
445
+ */
446
+ approveOAuthAuthorizationRaw(requestParameters: ApproveOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssuedAuthorizationCode>>;
447
+ /**
448
+ * Issues a single-use authorization code the client redeems at the token endpoint.
449
+ * Approve an authorization request as the signed-in user
450
+ */
451
+ approveOAuthAuthorization(requestParameters: ApproveOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssuedAuthorizationCode>;
432
452
  /**
433
453
  * Creates request options for assignBusinessEmployeeSystem without sending the request
434
454
  */
@@ -1685,6 +1705,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
1685
1705
  * Look up a pairing code before approving
1686
1706
  */
1687
1707
  previewDevice(requestParameters: PreviewDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PendingDevicePreview>;
1708
+ /**
1709
+ * Creates request options for previewOAuthAuthorization without sending the request
1710
+ */
1711
+ previewOAuthAuthorizationRequestOpts(requestParameters: PreviewOAuthAuthorizationRequest): Promise<runtime.RequestOpts>;
1712
+ /**
1713
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
1714
+ * Describe an authorization request before the user approves it
1715
+ */
1716
+ previewOAuthAuthorizationRaw(requestParameters: PreviewOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthorizationPreview>>;
1717
+ /**
1718
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
1719
+ * Describe an authorization request before the user approves it
1720
+ */
1721
+ previewOAuthAuthorization(requestParameters: PreviewOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthorizationPreview>;
1688
1722
  /**
1689
1723
  * Creates request options for provisionBusiness without sending the request
1690
1724
  */
@@ -1814,12 +1848,12 @@ export declare class PlatformClient extends runtime.BaseAPI {
1814
1848
  */
1815
1849
  resolvePlatformSanityConfigRequestOpts(): Promise<runtime.RequestOpts>;
1816
1850
  /**
1817
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1851
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1818
1852
  * Resolve the platform Sanity read config
1819
1853
  */
1820
1854
  resolvePlatformSanityConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlatformSanityConfig>>;
1821
1855
  /**
1822
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1856
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1823
1857
  * Resolve the platform Sanity read config
1824
1858
  */
1825
1859
  resolvePlatformSanityConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlatformSanityConfig>;
@@ -128,6 +128,52 @@ class PlatformClient extends runtime.BaseAPI {
128
128
  return yield response.value();
129
129
  });
130
130
  }
131
+ /**
132
+ * Creates request options for approveOAuthAuthorization without sending the request
133
+ */
134
+ approveOAuthAuthorizationRequestOpts(requestParameters) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ if (requestParameters['authorizationRequest'] == null) {
137
+ throw new runtime.RequiredError('authorizationRequest', 'Required parameter "authorizationRequest" was null or undefined when calling approveOAuthAuthorization().');
138
+ }
139
+ const queryParameters = {};
140
+ const headerParameters = {};
141
+ headerParameters['Content-Type'] = 'application/json';
142
+ if (this.configuration && this.configuration.accessToken) {
143
+ // oauth required
144
+ headerParameters["Authorization"] = yield this.configuration.accessToken("Implicit", []);
145
+ }
146
+ let urlPath = `/v1.0/protected/oauth/authorization`;
147
+ return {
148
+ path: urlPath,
149
+ method: 'POST',
150
+ headers: headerParameters,
151
+ query: queryParameters,
152
+ body: requestParameters['authorizationRequest'],
153
+ };
154
+ });
155
+ }
156
+ /**
157
+ * Issues a single-use authorization code the client redeems at the token endpoint.
158
+ * Approve an authorization request as the signed-in user
159
+ */
160
+ approveOAuthAuthorizationRaw(requestParameters, initOverrides) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ const requestOptions = yield this.approveOAuthAuthorizationRequestOpts(requestParameters);
163
+ const response = yield this.request(requestOptions, initOverrides);
164
+ return new runtime.JSONApiResponse(response);
165
+ });
166
+ }
167
+ /**
168
+ * Issues a single-use authorization code the client redeems at the token endpoint.
169
+ * Approve an authorization request as the signed-in user
170
+ */
171
+ approveOAuthAuthorization(requestParameters, initOverrides) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const response = yield this.approveOAuthAuthorizationRaw(requestParameters, initOverrides);
174
+ return yield response.value();
175
+ });
176
+ }
131
177
  /**
132
178
  * Creates request options for assignBusinessEmployeeSystem without sending the request
133
179
  */
@@ -4167,6 +4213,52 @@ class PlatformClient extends runtime.BaseAPI {
4167
4213
  return yield response.value();
4168
4214
  });
4169
4215
  }
4216
+ /**
4217
+ * Creates request options for previewOAuthAuthorization without sending the request
4218
+ */
4219
+ previewOAuthAuthorizationRequestOpts(requestParameters) {
4220
+ return __awaiter(this, void 0, void 0, function* () {
4221
+ if (requestParameters['authorizationRequest'] == null) {
4222
+ throw new runtime.RequiredError('authorizationRequest', 'Required parameter "authorizationRequest" was null or undefined when calling previewOAuthAuthorization().');
4223
+ }
4224
+ const queryParameters = {};
4225
+ const headerParameters = {};
4226
+ headerParameters['Content-Type'] = 'application/json';
4227
+ if (this.configuration && this.configuration.accessToken) {
4228
+ // oauth required
4229
+ headerParameters["Authorization"] = yield this.configuration.accessToken("Implicit", []);
4230
+ }
4231
+ let urlPath = `/v1.0/protected/oauth/authorization/preview`;
4232
+ return {
4233
+ path: urlPath,
4234
+ method: 'POST',
4235
+ headers: headerParameters,
4236
+ query: queryParameters,
4237
+ body: requestParameters['authorizationRequest'],
4238
+ };
4239
+ });
4240
+ }
4241
+ /**
4242
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
4243
+ * Describe an authorization request before the user approves it
4244
+ */
4245
+ previewOAuthAuthorizationRaw(requestParameters, initOverrides) {
4246
+ return __awaiter(this, void 0, void 0, function* () {
4247
+ const requestOptions = yield this.previewOAuthAuthorizationRequestOpts(requestParameters);
4248
+ const response = yield this.request(requestOptions, initOverrides);
4249
+ return new runtime.JSONApiResponse(response);
4250
+ });
4251
+ }
4252
+ /**
4253
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
4254
+ * Describe an authorization request before the user approves it
4255
+ */
4256
+ previewOAuthAuthorization(requestParameters, initOverrides) {
4257
+ return __awaiter(this, void 0, void 0, function* () {
4258
+ const response = yield this.previewOAuthAuthorizationRaw(requestParameters, initOverrides);
4259
+ return yield response.value();
4260
+ });
4261
+ }
4170
4262
  /**
4171
4263
  * Creates request options for provisionBusiness without sending the request
4172
4264
  */
@@ -4575,7 +4667,7 @@ class PlatformClient extends runtime.BaseAPI {
4575
4667
  });
4576
4668
  }
4577
4669
  /**
4578
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4670
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4579
4671
  * Resolve the platform Sanity read config
4580
4672
  */
4581
4673
  resolvePlatformSanityConfigRaw(initOverrides) {
@@ -4586,7 +4678,7 @@ class PlatformClient extends runtime.BaseAPI {
4586
4678
  });
4587
4679
  }
4588
4680
  /**
4589
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4681
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4590
4682
  * Resolve the platform Sanity read config
4591
4683
  */
4592
4684
  resolvePlatformSanityConfig(initOverrides) {
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, ChooseProviderRequest, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, ProviderCatalogResponse, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest, SetFacebookAccountRequest, SetGoogleAnalyticsPropertyRequest, SetPlatformSecretRequest, SetScopeGrantsRequest, SetWorkReposRequest, SetWorkspaceRepoRequest, SignupConfig, SignupRequest, SignupResult, SsoExchangeRequest, StartImpersonationRequest, StartImpersonationResult, StudioSanityConfig, TeamsAcsTokenResponse, TeamsAuthStateResponse, TenantInfo, TenantSanityCredentials, TokenExchangeRequest, TokenExchangeResult, TokenReconciliationReport, TotpEnrollRequest, TotpEnrollResult, UpdateAppsRequest, UpdateSecretsRequest, UsageDailySeries, UsageEventsRequest, UsageRollup, UsageSummary, VerifyApiTokenRequest, WorkReposSelection, WorkspaceRepoSelection } from '../models/index';
13
+ import type { ActivateRequest, ActivateResult, AddCustomDomainRequest, ApiTokenSummary, ApiTokenVerifyResult, AppCatalogEntry, AppModule, ApproveDeviceRequest, AuthorizationPreview, AuthorizationRequest, BillingPaymentMethod, BillingSessionRequest, BillingSessionResponse, BridgeWebhookResult, Business, BusinessAccess, BusinessHealth, Capability, ChooseProviderRequest, CreateApiTokenRequest, CreateUserRequest, CreatedApiToken, CredentialSummary, CustomDomainProvisioning, DevicePairRequestBody, DevicePairing, DevicePairingStatus, DevicePollRequestBody, DeviceScreen, DirectoryGroupsResponse, DirectoryLicensesResponse, DirectoryMailbox, DirectoryServicePrincipalsResponse, EmployeeSettings, EmployeeSystemAccess, EmployeeSystemConfig, FacebookAccount, GitHubRepo, GoogleAnalyticsProperty, GoogleAnalyticsSelection, ImpersonationHistoryEntry, IntegrationCheckResult, IntegrationSummary, InviteCredentialRequest, InvoiceBasis, IssuedAuthorizationCode, LoginConfig, MeApp, MeterEnforcementDecision, OAuthAccessTokenResponse, OAuthStartResponse, OlafApiKeyResponse, OlafTeamsSettings, OnboardBusinessRequest, OnboardingConfig, OnboardingStatus, PasswordLoginRequest, PasswordLoginResult, PatchBusinessRequest, PatchEmployee, PendingDevicePreview, PlanInfo, PlatformIntegration, PlatformSanityConfig, PlatformSecretStatus, PowerOfficeConnectResponse, PowerOfficeProduct, PowerOfficeProductsResponse, PowerOfficeProject, PowerOfficeProjectsResponse, ProtectedEmployee, ProviderCatalogResponse, RecordImpersonationActivityRequest, RenameDeviceRequest, ResetConfirmRequest, ResetRequest, RevokeRequest, ScopeDefinition, SessionBootstrapRequest, SetFacebookAccountRequest, SetGoogleAnalyticsPropertyRequest, SetPlatformSecretRequest, SetScopeGrantsRequest, SetWorkReposRequest, SetWorkspaceRepoRequest, SignupConfig, SignupRequest, SignupResult, SsoExchangeRequest, StartImpersonationRequest, StartImpersonationResult, StudioSanityConfig, TeamsAcsTokenResponse, TeamsAuthStateResponse, TenantInfo, TenantSanityCredentials, TokenExchangeRequest, TokenExchangeResult, TokenReconciliationReport, TotpEnrollRequest, TotpEnrollResult, UpdateAppsRequest, UpdateSecretsRequest, UsageDailySeries, UsageEventsRequest, UsageRollup, UsageSummary, VerifyApiTokenRequest, WorkReposSelection, WorkspaceRepoSelection } from '../models/index';
14
14
  export interface AddCustomDomainOperationRequest {
15
15
  id: string;
16
16
  addCustomDomainRequest: AddCustomDomainRequest;
@@ -19,6 +19,9 @@ export interface ApproveDeviceOperationRequest {
19
19
  id: string;
20
20
  approveDeviceRequest: ApproveDeviceRequest;
21
21
  }
22
+ export interface ApproveOAuthAuthorizationRequest {
23
+ authorizationRequest: AuthorizationRequest;
24
+ }
22
25
  export interface AssignBusinessEmployeeSystemRequest {
23
26
  id: string;
24
27
  upn: string;
@@ -266,6 +269,9 @@ export interface PreviewDeviceRequest {
266
269
  id: string;
267
270
  code: string;
268
271
  }
272
+ export interface PreviewOAuthAuthorizationRequest {
273
+ authorizationRequest: AuthorizationRequest;
274
+ }
269
275
  export interface ProvisionBusinessRequest {
270
276
  id: string;
271
277
  }
@@ -429,6 +435,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
429
435
  * Approve a screen into this business
430
436
  */
431
437
  approveDevice(requestParameters: ApproveDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeviceScreen>;
438
+ /**
439
+ * Creates request options for approveOAuthAuthorization without sending the request
440
+ */
441
+ approveOAuthAuthorizationRequestOpts(requestParameters: ApproveOAuthAuthorizationRequest): Promise<runtime.RequestOpts>;
442
+ /**
443
+ * Issues a single-use authorization code the client redeems at the token endpoint.
444
+ * Approve an authorization request as the signed-in user
445
+ */
446
+ approveOAuthAuthorizationRaw(requestParameters: ApproveOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IssuedAuthorizationCode>>;
447
+ /**
448
+ * Issues a single-use authorization code the client redeems at the token endpoint.
449
+ * Approve an authorization request as the signed-in user
450
+ */
451
+ approveOAuthAuthorization(requestParameters: ApproveOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IssuedAuthorizationCode>;
432
452
  /**
433
453
  * Creates request options for assignBusinessEmployeeSystem without sending the request
434
454
  */
@@ -1685,6 +1705,20 @@ export declare class PlatformClient extends runtime.BaseAPI {
1685
1705
  * Look up a pairing code before approving
1686
1706
  */
1687
1707
  previewDevice(requestParameters: PreviewDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PendingDevicePreview>;
1708
+ /**
1709
+ * Creates request options for previewOAuthAuthorization without sending the request
1710
+ */
1711
+ previewOAuthAuthorizationRequestOpts(requestParameters: PreviewOAuthAuthorizationRequest): Promise<runtime.RequestOpts>;
1712
+ /**
1713
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
1714
+ * Describe an authorization request before the user approves it
1715
+ */
1716
+ previewOAuthAuthorizationRaw(requestParameters: PreviewOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthorizationPreview>>;
1717
+ /**
1718
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
1719
+ * Describe an authorization request before the user approves it
1720
+ */
1721
+ previewOAuthAuthorization(requestParameters: PreviewOAuthAuthorizationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthorizationPreview>;
1688
1722
  /**
1689
1723
  * Creates request options for provisionBusiness without sending the request
1690
1724
  */
@@ -1814,12 +1848,12 @@ export declare class PlatformClient extends runtime.BaseAPI {
1814
1848
  */
1815
1849
  resolvePlatformSanityConfigRequestOpts(): Promise<runtime.RequestOpts>;
1816
1850
  /**
1817
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1851
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1818
1852
  * Resolve the platform Sanity read config
1819
1853
  */
1820
1854
  resolvePlatformSanityConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlatformSanityConfig>>;
1821
1855
  /**
1822
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1856
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
1823
1857
  * Resolve the platform Sanity read config
1824
1858
  */
1825
1859
  resolvePlatformSanityConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlatformSanityConfig>;
@@ -125,6 +125,52 @@ export class PlatformClient extends runtime.BaseAPI {
125
125
  return yield response.value();
126
126
  });
127
127
  }
128
+ /**
129
+ * Creates request options for approveOAuthAuthorization without sending the request
130
+ */
131
+ approveOAuthAuthorizationRequestOpts(requestParameters) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ if (requestParameters['authorizationRequest'] == null) {
134
+ throw new runtime.RequiredError('authorizationRequest', 'Required parameter "authorizationRequest" was null or undefined when calling approveOAuthAuthorization().');
135
+ }
136
+ const queryParameters = {};
137
+ const headerParameters = {};
138
+ headerParameters['Content-Type'] = 'application/json';
139
+ if (this.configuration && this.configuration.accessToken) {
140
+ // oauth required
141
+ headerParameters["Authorization"] = yield this.configuration.accessToken("Implicit", []);
142
+ }
143
+ let urlPath = `/v1.0/protected/oauth/authorization`;
144
+ return {
145
+ path: urlPath,
146
+ method: 'POST',
147
+ headers: headerParameters,
148
+ query: queryParameters,
149
+ body: requestParameters['authorizationRequest'],
150
+ };
151
+ });
152
+ }
153
+ /**
154
+ * Issues a single-use authorization code the client redeems at the token endpoint.
155
+ * Approve an authorization request as the signed-in user
156
+ */
157
+ approveOAuthAuthorizationRaw(requestParameters, initOverrides) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const requestOptions = yield this.approveOAuthAuthorizationRequestOpts(requestParameters);
160
+ const response = yield this.request(requestOptions, initOverrides);
161
+ return new runtime.JSONApiResponse(response);
162
+ });
163
+ }
164
+ /**
165
+ * Issues a single-use authorization code the client redeems at the token endpoint.
166
+ * Approve an authorization request as the signed-in user
167
+ */
168
+ approveOAuthAuthorization(requestParameters, initOverrides) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const response = yield this.approveOAuthAuthorizationRaw(requestParameters, initOverrides);
171
+ return yield response.value();
172
+ });
173
+ }
128
174
  /**
129
175
  * Creates request options for assignBusinessEmployeeSystem without sending the request
130
176
  */
@@ -4164,6 +4210,52 @@ export class PlatformClient extends runtime.BaseAPI {
4164
4210
  return yield response.value();
4165
4211
  });
4166
4212
  }
4213
+ /**
4214
+ * Creates request options for previewOAuthAuthorization without sending the request
4215
+ */
4216
+ previewOAuthAuthorizationRequestOpts(requestParameters) {
4217
+ return __awaiter(this, void 0, void 0, function* () {
4218
+ if (requestParameters['authorizationRequest'] == null) {
4219
+ throw new runtime.RequiredError('authorizationRequest', 'Required parameter "authorizationRequest" was null or undefined when calling previewOAuthAuthorization().');
4220
+ }
4221
+ const queryParameters = {};
4222
+ const headerParameters = {};
4223
+ headerParameters['Content-Type'] = 'application/json';
4224
+ if (this.configuration && this.configuration.accessToken) {
4225
+ // oauth required
4226
+ headerParameters["Authorization"] = yield this.configuration.accessToken("Implicit", []);
4227
+ }
4228
+ let urlPath = `/v1.0/protected/oauth/authorization/preview`;
4229
+ return {
4230
+ path: urlPath,
4231
+ method: 'POST',
4232
+ headers: headerParameters,
4233
+ query: queryParameters,
4234
+ body: requestParameters['authorizationRequest'],
4235
+ };
4236
+ });
4237
+ }
4238
+ /**
4239
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
4240
+ * Describe an authorization request before the user approves it
4241
+ */
4242
+ previewOAuthAuthorizationRaw(requestParameters, initOverrides) {
4243
+ return __awaiter(this, void 0, void 0, function* () {
4244
+ const requestOptions = yield this.previewOAuthAuthorizationRequestOpts(requestParameters);
4245
+ const response = yield this.request(requestOptions, initOverrides);
4246
+ return new runtime.JSONApiResponse(response);
4247
+ });
4248
+ }
4249
+ /**
4250
+ * Validates the client, redirect URI and resource for the signed-in user and names the client.
4251
+ * Describe an authorization request before the user approves it
4252
+ */
4253
+ previewOAuthAuthorization(requestParameters, initOverrides) {
4254
+ return __awaiter(this, void 0, void 0, function* () {
4255
+ const response = yield this.previewOAuthAuthorizationRaw(requestParameters, initOverrides);
4256
+ return yield response.value();
4257
+ });
4258
+ }
4167
4259
  /**
4168
4260
  * Creates request options for provisionBusiness without sending the request
4169
4261
  */
@@ -4572,7 +4664,7 @@ export class PlatformClient extends runtime.BaseAPI {
4572
4664
  });
4573
4665
  }
4574
4666
  /**
4575
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4667
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4576
4668
  * Resolve the platform Sanity read config
4577
4669
  */
4578
4670
  resolvePlatformSanityConfigRaw(initOverrides) {
@@ -4583,7 +4675,7 @@ export class PlatformClient extends runtime.BaseAPI {
4583
4675
  });
4584
4676
  }
4585
4677
  /**
4586
- * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4678
+ * Returns the shared platform Sanity project, dataset, studio URL and read token used as the content fallback layer for every tenant. All four values live in platform Key Vault (editable in platform-web), so nothing Sanity-related is baked onto frontends. The answer is cached in-process for five minutes and served stale if Key Vault is briefly unreachable. This is a render-path config endpoint, so it accepts any principal from the platform Entra tenant — the platform managed identity in production, or a Snøkam developer\'s az session locally — with no operator role required.
4587
4679
  * Resolve the platform Sanity read config
4588
4680
  */
4589
4681
  resolvePlatformSanityConfig(initOverrides) {
@@ -277,6 +277,62 @@ export interface ApproveDeviceRequest {
277
277
  */
278
278
  name?: string | null;
279
279
  }
280
+ /**
281
+ *
282
+ * @export
283
+ * @interface AuthorizationPreview
284
+ */
285
+ export interface AuthorizationPreview {
286
+ /**
287
+ *
288
+ * @type {string}
289
+ * @memberof AuthorizationPreview
290
+ */
291
+ businessName?: string | null;
292
+ /**
293
+ *
294
+ * @type {string}
295
+ * @memberof AuthorizationPreview
296
+ */
297
+ clientName?: string | null;
298
+ }
299
+ /**
300
+ *
301
+ * @export
302
+ * @interface AuthorizationRequest
303
+ */
304
+ export interface AuthorizationRequest {
305
+ /**
306
+ *
307
+ * @type {string}
308
+ * @memberof AuthorizationRequest
309
+ */
310
+ clientId?: string | null;
311
+ /**
312
+ *
313
+ * @type {string}
314
+ * @memberof AuthorizationRequest
315
+ */
316
+ codeChallenge?: string | null;
317
+ /**
318
+ *
319
+ * @type {string}
320
+ * @memberof AuthorizationRequest
321
+ */
322
+ codeChallengeMethod?: string | null;
323
+ /**
324
+ *
325
+ * @type {string}
326
+ * @memberof AuthorizationRequest
327
+ */
328
+ redirectUri?: string | null;
329
+ /**
330
+ *
331
+ * @type {string}
332
+ * @memberof AuthorizationRequest
333
+ */
334
+ resource?: string | null;
335
+ }
280
336
  /**
281
337
  *
282
338
  * @export
@@ -2387,6 +2443,19 @@ export interface InvoiceBasisLine {
2387
2443
  */
2388
2444
  unitPriceOre?: number | null;
2389
2445
  }
2446
+ /**
2447
+ *
2448
+ * @export
2449
+ * @interface IssuedAuthorizationCode
2450
+ */
2451
+ export interface IssuedAuthorizationCode {
2452
+ /**
2453
+ *
2454
+ * @type {string}
2455
+ * @memberof IssuedAuthorizationCode
2456
+ */
2457
+ code?: string | null;
2458
+ }
2390
2459
  /**
2391
2460
  *
2392
2461
  * @export
@@ -3323,6 +3392,12 @@ export interface PatchEmployee {
3323
3392
  * @memberof PatchEmployee
3324
3393
  */
3325
3394
  isSeekingProject?: boolean | null;
3395
+ /**
3396
+ *
3397
+ * @type {boolean}
3398
+ * @memberof PatchEmployee
3399
+ */
3400
+ leadershipGroupMember?: boolean | null;
3326
3401
  /**
3327
3402
  *
3328
3403
  * @type {string}
@@ -3373,12 +3448,6 @@ export interface PatchEmployee {
3373
3448
  * @memberof PatchEmployee
3374
3449
  */
3375
3450
  parentalLeaveCoverage?: PatchEmployeeParentalLeaveCoverageEnum | null;
3376
- /**
3377
- *
3378
- * @type {string}
3379
- * @memberof PatchEmployee
3380
- */
3381
- parentalLeaveStartDate?: string;
3382
3451
  /**
3383
3452
  *
3384
3453
  * @type {string}
@@ -4092,6 +4161,12 @@ export interface ProtectedEmployee {
4092
4161
  * @memberof ProtectedEmployee
4093
4162
  */
4094
4163
  isSeekingProject?: boolean;
4164
+ /**
4165
+ *
4166
+ * @type {boolean}
4167
+ * @memberof ProtectedEmployee
4168
+ */
4169
+ leadershipGroupMember?: boolean;
4095
4170
  /**
4096
4171
  *
4097
4172
  * @type {string}
@@ -4142,12 +4217,6 @@ export interface ProtectedEmployee {
4142
4217
  * @memberof ProtectedEmployee
4143
4218
  */
4144
4219
  parentalLeaveCoverage?: ProtectedEmployeeParentalLeaveCoverageEnum | null;
4145
- /**
4146
- *
4147
- * @type {string}
4148
- * @memberof ProtectedEmployee
4149
- */
4150
- parentalLeaveStartDate?: string;
4151
4220
  /**
4152
4221
  *
4153
4222
  * @type {string}
@@ -4899,6 +4968,12 @@ export interface SanityEmployeeGroupsInner {
4899
4968
  * @memberof SanityEmployeeGroupsInner
4900
4969
  */
4901
4970
  scopeGrants?: Array<string>;
4971
+ /**
4972
+ *
4973
+ * @type {string}
4974
+ * @memberof SanityEmployeeGroupsInner
4975
+ */
4976
+ slackChannel?: string;
4902
4977
  }
4903
4978
  /**
4904
4979
  * @export