@opusdns/api 1.68.0 → 1.70.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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "@opusdns/api-spec-ts-generator": "^1.2.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "1.68.0",
6
+ "version": "1.70.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -111,6 +111,7 @@ import type {
111
111
  VerificationClaimType,
112
112
  VerificationDeadlineType,
113
113
  VerificationType,
114
+ WhitelabelOnboardingStatus,
114
115
  ZoneIncludeField,
115
116
  ZoneSortField,
116
117
  } from './schemas';
@@ -1956,6 +1957,22 @@ export const VERIFICATION_TYPE_VALUES = [
1956
1957
  'email',
1957
1958
  ] as const satisfies ReadonlyArray<VerificationType>;
1958
1959
 
1960
+ export const WHITELABEL_ONBOARDING_STATUS = {
1961
+ PENDING_DOMAIN_VERIFICATION: "pending_domain_verification",
1962
+ VERIFYING: "verifying",
1963
+ PROVISIONING: "provisioning",
1964
+ ACTIVE: "active",
1965
+ FAILED: "failed",
1966
+ } as const satisfies Record<string, WhitelabelOnboardingStatus>;
1967
+
1968
+ export const WHITELABEL_ONBOARDING_STATUS_VALUES = [
1969
+ 'pending_domain_verification',
1970
+ 'verifying',
1971
+ 'provisioning',
1972
+ 'active',
1973
+ 'failed',
1974
+ ] as const satisfies ReadonlyArray<WhitelabelOnboardingStatus>;
1975
+
1959
1976
  export const ZONE_INCLUDE_FIELD = {
1960
1977
  TAGS: "tags",
1961
1978
  } as const satisfies Record<string, ZoneIncludeField>;
@@ -335,6 +335,7 @@ import type {
335
335
  PriceInfo,
336
336
  PricingPeriod,
337
337
  Problem,
338
+ ProductCreateRes,
338
339
  PublicAuthRequestForm,
339
340
  PublicPermissionSet,
340
341
  PublicReportListRes,
@@ -404,6 +405,8 @@ import type {
404
405
  VerificationRegistrantDetails,
405
406
  Verification,
406
407
  VisitsByKeyBucket,
408
+ WhitelabelBrandingCreate,
409
+ WhitelabelBranding,
407
410
  WhoisBase,
408
411
  ZoneVanitySetUpdate,
409
412
  ZonesContext,
@@ -2267,6 +2270,7 @@ export const KEY_DOMAIN_LIFECYCLE_BASE_REGISTRY_AUTO_RENEW = 'registry_auto_rene
2267
2270
  export const KEY_DOMAIN_LIFECYCLE_BASE_RENEWAL_PERIODS = 'renewal_periods' satisfies keyof DomainLifecycleBase;
2268
2271
  export const KEY_DOMAIN_LIFECYCLE_BASE_RGP_OPERATIONS = 'rgp_operations' satisfies keyof DomainLifecycleBase;
2269
2272
  export const KEY_DOMAIN_LIFECYCLE_BASE_SYNC_AFTER_OPERATIONS = 'sync_after_operations' satisfies keyof DomainLifecycleBase;
2273
+ export const KEY_DOMAIN_LIFECYCLE_BASE_TRANSFER_GRACE_PERIOD = 'transfer_grace_period' satisfies keyof DomainLifecycleBase;
2270
2274
  export const KEY_DOMAIN_LIFECYCLE_BASE_TRANSFER_RENEWAL_PERIODS = 'transfer_renewal_periods' satisfies keyof DomainLifecycleBase;
2271
2275
 
2272
2276
  export const KEYS_DOMAIN_LIFECYCLE_BASE = [
@@ -2284,6 +2288,7 @@ export const KEYS_DOMAIN_LIFECYCLE_BASE = [
2284
2288
  KEY_DOMAIN_LIFECYCLE_BASE_RENEWAL_PERIODS,
2285
2289
  KEY_DOMAIN_LIFECYCLE_BASE_RGP_OPERATIONS,
2286
2290
  KEY_DOMAIN_LIFECYCLE_BASE_SYNC_AFTER_OPERATIONS,
2291
+ KEY_DOMAIN_LIFECYCLE_BASE_TRANSFER_GRACE_PERIOD,
2287
2292
  KEY_DOMAIN_LIFECYCLE_BASE_TRANSFER_RENEWAL_PERIODS,
2288
2293
  ] as const satisfies (keyof DomainLifecycleBase)[];
2289
2294
 
@@ -4517,6 +4522,16 @@ export const KEYS_PROBLEM = [
4517
4522
  KEY_PROBLEM_TYPE,
4518
4523
  ] as const satisfies (keyof Problem)[];
4519
4524
 
4525
+ export const KEY_PRODUCT_CREATE_RES_PRODUCT_NAME = 'product_name' satisfies keyof ProductCreateRes;
4526
+ export const KEY_PRODUCT_CREATE_RES_SUBSCRIBABLE_ID = 'subscribable_id' satisfies keyof ProductCreateRes;
4527
+ export const KEY_PRODUCT_CREATE_RES_SUBSCRIPTION_ID = 'subscription_id' satisfies keyof ProductCreateRes;
4528
+
4529
+ export const KEYS_PRODUCT_CREATE_RES = [
4530
+ KEY_PRODUCT_CREATE_RES_PRODUCT_NAME,
4531
+ KEY_PRODUCT_CREATE_RES_SUBSCRIBABLE_ID,
4532
+ KEY_PRODUCT_CREATE_RES_SUBSCRIPTION_ID,
4533
+ ] as const satisfies (keyof ProductCreateRes)[];
4534
+
4520
4535
  export const KEY_PUBLIC_AUTH_REQUEST_FORM_CLIENT_ID = 'client_id' satisfies keyof PublicAuthRequestForm;
4521
4536
  export const KEY_PUBLIC_AUTH_REQUEST_FORM_CLIENT_SECRET = 'client_secret' satisfies keyof PublicAuthRequestForm;
4522
4537
  export const KEY_PUBLIC_AUTH_REQUEST_FORM_GRANT_TYPE = 'grant_type' satisfies keyof PublicAuthRequestForm;
@@ -5459,6 +5474,38 @@ export const KEYS_VISITS_BY_KEY_BUCKET = [
5459
5474
  KEY_VISITS_BY_KEY_BUCKET_UNIQUE,
5460
5475
  ] as const satisfies (keyof VisitsByKeyBucket)[];
5461
5476
 
5477
+ export const KEY_WHITELABEL_BRANDING_CREATE_AUTH_HOSTNAME = 'auth_hostname' satisfies keyof WhitelabelBrandingCreate;
5478
+ export const KEY_WHITELABEL_BRANDING_CREATE_HOSTNAME = 'hostname' satisfies keyof WhitelabelBrandingCreate;
5479
+
5480
+ export const KEYS_WHITELABEL_BRANDING_CREATE = [
5481
+ KEY_WHITELABEL_BRANDING_CREATE_AUTH_HOSTNAME,
5482
+ KEY_WHITELABEL_BRANDING_CREATE_HOSTNAME,
5483
+ ] as const satisfies (keyof WhitelabelBrandingCreate)[];
5484
+
5485
+ export const KEY_WHITELABEL_BRANDING_AUTH_HOSTNAME = 'auth_hostname' satisfies keyof WhitelabelBranding;
5486
+ export const KEY_WHITELABEL_BRANDING_CREATED_ON = 'created_on' satisfies keyof WhitelabelBranding;
5487
+ export const KEY_WHITELABEL_BRANDING_FAILURE_REASON = 'failure_reason' satisfies keyof WhitelabelBranding;
5488
+ export const KEY_WHITELABEL_BRANDING_HOSTNAME = 'hostname' satisfies keyof WhitelabelBranding;
5489
+ export const KEY_WHITELABEL_BRANDING_KEYCLOAK_CLIENT_ID = 'keycloak_client_id' satisfies keyof WhitelabelBranding;
5490
+ export const KEY_WHITELABEL_BRANDING_ONBOARDING_STATUS = 'onboarding_status' satisfies keyof WhitelabelBranding;
5491
+ export const KEY_WHITELABEL_BRANDING_ORGANIZATION_ID = 'organization_id' satisfies keyof WhitelabelBranding;
5492
+ export const KEY_WHITELABEL_BRANDING_UPDATED_ON = 'updated_on' satisfies keyof WhitelabelBranding;
5493
+ export const KEY_WHITELABEL_BRANDING_VERIFICATION_DOMAIN = 'verification_domain' satisfies keyof WhitelabelBranding;
5494
+ export const KEY_WHITELABEL_BRANDING_WHITELABEL_BRANDING_ID = 'whitelabel_branding_id' satisfies keyof WhitelabelBranding;
5495
+
5496
+ export const KEYS_WHITELABEL_BRANDING = [
5497
+ KEY_WHITELABEL_BRANDING_AUTH_HOSTNAME,
5498
+ KEY_WHITELABEL_BRANDING_CREATED_ON,
5499
+ KEY_WHITELABEL_BRANDING_FAILURE_REASON,
5500
+ KEY_WHITELABEL_BRANDING_HOSTNAME,
5501
+ KEY_WHITELABEL_BRANDING_KEYCLOAK_CLIENT_ID,
5502
+ KEY_WHITELABEL_BRANDING_ONBOARDING_STATUS,
5503
+ KEY_WHITELABEL_BRANDING_ORGANIZATION_ID,
5504
+ KEY_WHITELABEL_BRANDING_UPDATED_ON,
5505
+ KEY_WHITELABEL_BRANDING_VERIFICATION_DOMAIN,
5506
+ KEY_WHITELABEL_BRANDING_WHITELABEL_BRANDING_ID,
5507
+ ] as const satisfies (keyof WhitelabelBranding)[];
5508
+
5462
5509
  export const KEY_WHOIS_BASE_WHOIS_SERVER = 'whois_server' satisfies keyof WhoisBase;
5463
5510
 
5464
5511
  export const KEYS_WHOIS_BASE = [
@@ -53,6 +53,7 @@ import type {
53
53
  UserUpdate,
54
54
  VanityNameserverSetCreate,
55
55
  VanityNsCheckPublicReq,
56
+ WhitelabelBrandingCreate,
56
57
  ZoneVanitySetUpdate,
57
58
  } from './schemas';
58
59
 
@@ -1105,3 +1106,14 @@ export type POST_VanityNameserverSetsCheck_Request_Body = POST_VanityNameserverS
1105
1106
 
1106
1107
  export type DELETE_VanityNameserverSetsDefault_Request = {
1107
1108
  };
1109
+
1110
+ export type GET_WhitelabelBranding_Request = {
1111
+ };
1112
+
1113
+ export type POST_WhitelabelBranding_Request = {
1114
+ requestBody: WhitelabelBrandingCreate;
1115
+ };
1116
+ export type POST_WhitelabelBranding_Request_Body = POST_WhitelabelBranding_Request['requestBody'];
1117
+
1118
+ export type POST_WhitelabelBrandingRecheck_Request = {
1119
+ };
@@ -86,6 +86,7 @@ import type {
86
86
  ParkingSignupStatus,
87
87
  ParkingTotalMetrics,
88
88
  Problem,
89
+ ProductCreateRes,
89
90
  PublicPermissionSet,
90
91
  PublicReportListRes,
91
92
  PublicReportRes,
@@ -103,6 +104,7 @@ import type {
103
104
  UserPublicWithAttributes,
104
105
  VanityNameserverSetSummaryDTO,
105
106
  VanityNsCheckRes,
107
+ WhitelabelBranding,
106
108
  } from './schemas';
107
109
 
108
110
  export type DELETE_AiConciergeConversationsByConversationId_Response = DELETE_AiConciergeConversationsByConversationId_Response_401 | DELETE_AiConciergeConversationsByConversationId_Response_404 | DELETE_AiConciergeConversationsByConversationId_Response_422 | DELETE_AiConciergeConversationsByConversationId_Response_502;
@@ -837,6 +839,11 @@ export type GET_VanityNameserverSetsBySetIdZones_Response = GET_VanityNameserver
837
839
  export type GET_VanityNameserverSetsBySetIdZones_Response_200 = ListZonesReferencingSetRes;
838
840
  export type GET_VanityNameserverSetsBySetIdZones_Response_422 = HTTPValidationError;
839
841
 
842
+ export type GET_WhitelabelBranding_Response = GET_WhitelabelBranding_Response_200 | GET_WhitelabelBranding_Response_422;
843
+
844
+ export type GET_WhitelabelBranding_Response_200 = WhitelabelBranding;
845
+ export type GET_WhitelabelBranding_Response_422 = HTTPValidationError;
846
+
840
847
  export type PATCH_AiConciergeConversationsByConversationId_Response = PATCH_AiConciergeConversationsByConversationId_Response_200 | PATCH_AiConciergeConversationsByConversationId_Response_401 | PATCH_AiConciergeConversationsByConversationId_Response_404 | PATCH_AiConciergeConversationsByConversationId_Response_422 | PATCH_AiConciergeConversationsByConversationId_Response_502;
841
848
 
842
849
  export type PATCH_AiConciergeConversationsByConversationId_Response_200 = Conversation;
@@ -1326,6 +1333,16 @@ export type POST_VanityNameserverSetsCheck_Response = POST_VanityNameserverSetsC
1326
1333
  export type POST_VanityNameserverSetsCheck_Response_200 = VanityNsCheckRes;
1327
1334
  export type POST_VanityNameserverSetsCheck_Response_422 = HTTPValidationError;
1328
1335
 
1336
+ export type POST_WhitelabelBranding_Response = POST_WhitelabelBranding_Response_202 | POST_WhitelabelBranding_Response_422;
1337
+
1338
+ export type POST_WhitelabelBranding_Response_202 = ProductCreateRes;
1339
+ export type POST_WhitelabelBranding_Response_422 = HTTPValidationError;
1340
+
1341
+ export type POST_WhitelabelBrandingRecheck_Response = POST_WhitelabelBrandingRecheck_Response_202 | POST_WhitelabelBrandingRecheck_Response_422;
1342
+
1343
+ export type POST_WhitelabelBrandingRecheck_Response_202 = WhitelabelBranding;
1344
+ export type POST_WhitelabelBrandingRecheck_Response_422 = HTTPValidationError;
1345
+
1329
1346
  export type PUT_ContactsByContactIdVerification_Response = PUT_ContactsByContactIdVerification_Response_400 | PUT_ContactsByContactIdVerification_Response_401 | PUT_ContactsByContactIdVerification_Response_403 | PUT_ContactsByContactIdVerification_Response_404 | PUT_ContactsByContactIdVerification_Response_422;
1330
1347
 
1331
1348
  export type PUT_ContactsByContactIdVerification_Response_400 = Problem;
@@ -435,6 +435,7 @@ export type PremiumSourceType = components['schemas']['PremiumSourceType'];
435
435
  export type PriceInfo = components['schemas']['PriceInfo'];
436
436
  export type PricingPeriod = components['schemas']['PricingPeriod'];
437
437
  export type Problem = components['schemas']['Problem'];
438
+ export type ProductCreateRes = components['schemas']['ProductCreateRes'];
438
439
  export type Protocol = components['schemas']['Protocol'];
439
440
  export type PublicAuthRequestForm = components['schemas']['PublicAuthRequestForm'];
440
441
  export type PublicPermission = components['schemas']['PublicPermission'];
@@ -539,6 +540,9 @@ export type VerificationRegistrantDetails = components['schemas']['VerificationR
539
540
  export type Verification = components['schemas']['VerificationResponse'];
540
541
  export type VerificationType = components['schemas']['VerificationType'];
541
542
  export type VisitsByKeyBucket = components['schemas']['VisitsByKeyBucket'];
543
+ export type WhitelabelBrandingCreate = components['schemas']['WhitelabelBrandingCreate'];
544
+ export type WhitelabelBranding = components['schemas']['WhitelabelBrandingResponse'];
545
+ export type WhitelabelOnboardingStatus = components['schemas']['WhitelabelOnboardingStatus'];
542
546
  export type WhoisBase = components['schemas']['WhoisBase'];
543
547
  export type ZoneIncludeField = components['schemas']['ZoneIncludeField'];
544
548
  export type ZoneSortField = components['schemas']['ZoneSortField'];
package/src/openapi.yaml CHANGED
@@ -4857,6 +4857,17 @@ components:
4857
4857
  - type: 'null'
4858
4858
  description: Operations that trigger a sync with the registry
4859
4859
  title: Sync After Operations
4860
+ transfer_grace_period:
4861
+ anyOf:
4862
+ - examples:
4863
+ - P5D
4864
+ - P1Y
4865
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
4866
+ type: string
4867
+ - type: 'null'
4868
+ description: Transfer grace period after a transfer in ISO 8601 format (e.g.,
4869
+ 5D, 3D)
4870
+ title: Transfer Grace Period
4860
4871
  transfer_renewal_periods:
4861
4872
  $ref: '#/components/schemas/PeriodList'
4862
4873
  description: List of allowed transfer renewal periods (eg. '1y')
@@ -11010,6 +11021,31 @@ components:
11010
11021
  - status
11011
11022
  title: Problem
11012
11023
  type: object
11024
+ ProductCreateRes:
11025
+ properties:
11026
+ product_name:
11027
+ description: The product name
11028
+ title: Product Name
11029
+ type: string
11030
+ subscribable_id:
11031
+ description: The created resource ID
11032
+ title: Subscribable Id
11033
+ type: string
11034
+ subscription_id:
11035
+ description: The created subscription ID
11036
+ examples:
11037
+ - subscription_01h45ytscbebyvny4gc8cr8ma2
11038
+ format: typeid
11039
+ pattern: ^subscription_[0-7][0-9a-hjkmnpq-tv-z]{25}$
11040
+ title: Subscription Id
11041
+ type: string
11042
+ x-typeid-prefix: subscription
11043
+ required:
11044
+ - subscription_id
11045
+ - subscribable_id
11046
+ - product_name
11047
+ title: ProductCreateRes
11048
+ type: object
11013
11049
  Protocol:
11014
11050
  enum:
11015
11051
  - http
@@ -13681,6 +13717,111 @@ components:
13681
13717
  - unique
13682
13718
  title: VisitsByKeyBucket
13683
13719
  type: object
13720
+ WhitelabelBrandingCreate:
13721
+ description: 'Public create request body. The owning org comes from auth context,
13722
+ and
13723
+
13724
+ `verification_domain` is derived server-side (the registrable domain of `hostname`),
13725
+
13726
+ so neither is accepted here. Both hostnames must resolve to the same registrable
13727
+
13728
+ domain (checked server-side in WhitelabelBrandingService.create).'
13729
+ properties:
13730
+ auth_hostname:
13731
+ description: Auth/login hostname served by Keycloak (e.g. auth.customer.com)
13732
+ maxLength: 255
13733
+ minLength: 1
13734
+ title: Auth Hostname
13735
+ type: string
13736
+ hostname:
13737
+ description: Dashboard hostname the customer wants to brand (e.g. dash.customer.com)
13738
+ maxLength: 255
13739
+ minLength: 1
13740
+ title: Hostname
13741
+ type: string
13742
+ required:
13743
+ - hostname
13744
+ - auth_hostname
13745
+ title: WhitelabelBrandingCreate
13746
+ type: object
13747
+ WhitelabelBrandingResponse:
13748
+ description: Public read shape for an organization's whitelabel branding config.
13749
+ properties:
13750
+ auth_hostname:
13751
+ maxLength: 255
13752
+ minLength: 1
13753
+ title: Auth Hostname
13754
+ type: string
13755
+ created_on:
13756
+ format: date-time
13757
+ title: Created On
13758
+ type: string
13759
+ failure_reason:
13760
+ anyOf:
13761
+ - type: string
13762
+ - type: 'null'
13763
+ title: Failure Reason
13764
+ hostname:
13765
+ maxLength: 255
13766
+ minLength: 1
13767
+ title: Hostname
13768
+ type: string
13769
+ keycloak_client_id:
13770
+ anyOf:
13771
+ - maxLength: 255
13772
+ minLength: 1
13773
+ type: string
13774
+ - type: 'null'
13775
+ title: Keycloak Client Id
13776
+ onboarding_status:
13777
+ $ref: '#/components/schemas/WhitelabelOnboardingStatus'
13778
+ organization_id:
13779
+ examples:
13780
+ - organization_01h45ytscbebyvny4gc8cr8ma2
13781
+ format: typeid
13782
+ pattern: ^organization_[0-7][0-9a-hjkmnpq-tv-z]{25}$
13783
+ title: Organization Id
13784
+ type: string
13785
+ x-typeid-prefix: organization
13786
+ updated_on:
13787
+ format: date-time
13788
+ title: Updated On
13789
+ type: string
13790
+ verification_domain:
13791
+ maxLength: 255
13792
+ minLength: 1
13793
+ title: Verification Domain
13794
+ type: string
13795
+ whitelabel_branding_id:
13796
+ examples:
13797
+ - wlb_01h45ytscbebyvny4gc8cr8ma2
13798
+ format: typeid
13799
+ pattern: ^wlb_[0-7][0-9a-hjkmnpq-tv-z]{25}$
13800
+ title: Whitelabel Branding Id
13801
+ type: string
13802
+ x-typeid-prefix: wlb
13803
+ required:
13804
+ - whitelabel_branding_id
13805
+ - organization_id
13806
+ - onboarding_status
13807
+ - hostname
13808
+ - auth_hostname
13809
+ - verification_domain
13810
+ - keycloak_client_id
13811
+ - failure_reason
13812
+ - created_on
13813
+ - updated_on
13814
+ title: WhitelabelBrandingResponse
13815
+ type: object
13816
+ WhitelabelOnboardingStatus:
13817
+ enum:
13818
+ - pending_domain_verification
13819
+ - verifying
13820
+ - provisioning
13821
+ - active
13822
+ - failed
13823
+ title: WhitelabelOnboardingStatus
13824
+ type: string
13684
13825
  WhoisBase:
13685
13826
  properties:
13686
13827
  whois_server:
@@ -14007,7 +14148,7 @@ info:
14007
14148
  \n\n"
14008
14149
  summary: OpusDNS - your gateway to a seamless domain management experience.
14009
14150
  title: OpusDNS API
14010
- version: 2026-07-17-222747
14151
+ version: 2026-07-21-001849
14011
14152
  x-logo:
14012
14153
  altText: OpusDNS API Reference
14013
14154
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -30326,6 +30467,89 @@ paths:
30326
30467
  - nameserver
30327
30468
  x-required-permissions:
30328
30469
  - vanity_ns:read
30470
+ /v1/whitelabel-branding:
30471
+ get:
30472
+ operationId: get_whitelabel_branding_v1_whitelabel_branding_get
30473
+ parameters:
30474
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
30475
+ responses:
30476
+ '200':
30477
+ content:
30478
+ application/json:
30479
+ schema:
30480
+ $ref: '#/components/schemas/WhitelabelBrandingResponse'
30481
+ description: Successful Response
30482
+ '422':
30483
+ content:
30484
+ application/problem+json:
30485
+ schema:
30486
+ $ref: '#/components/schemas/HTTPValidationError'
30487
+ description: Validation Error
30488
+ security:
30489
+ - OAuth2PasswordBearer: []
30490
+ - APIKeyHeader: []
30491
+ summary: Get the organization's whitelabel branding config
30492
+ tags:
30493
+ - whitelabel
30494
+ x-required-permissions:
30495
+ - whitelabel_branding:read
30496
+ post:
30497
+ operationId: create_whitelabel_branding_v1_whitelabel_branding_post
30498
+ parameters:
30499
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
30500
+ requestBody:
30501
+ content:
30502
+ application/json:
30503
+ schema:
30504
+ $ref: '#/components/schemas/WhitelabelBrandingCreate'
30505
+ required: true
30506
+ responses:
30507
+ '202':
30508
+ content:
30509
+ application/json:
30510
+ schema:
30511
+ $ref: '#/components/schemas/ProductCreateRes'
30512
+ description: Successful Response
30513
+ '422':
30514
+ content:
30515
+ application/problem+json:
30516
+ schema:
30517
+ $ref: '#/components/schemas/HTTPValidationError'
30518
+ description: Validation Error
30519
+ security:
30520
+ - OAuth2PasswordBearer: []
30521
+ - APIKeyHeader: []
30522
+ summary: Create the organization's whitelabel branding config
30523
+ tags:
30524
+ - whitelabel
30525
+ x-required-permissions:
30526
+ - whitelabel_branding:manage
30527
+ /v1/whitelabel-branding/recheck:
30528
+ post:
30529
+ operationId: recheck_whitelabel_branding_v1_whitelabel_branding_recheck_post
30530
+ parameters:
30531
+ - $ref: '#/components/parameters/DatetimeFormatHeader'
30532
+ responses:
30533
+ '202':
30534
+ content:
30535
+ application/json:
30536
+ schema:
30537
+ $ref: '#/components/schemas/WhitelabelBrandingResponse'
30538
+ description: Successful Response
30539
+ '422':
30540
+ content:
30541
+ application/problem+json:
30542
+ schema:
30543
+ $ref: '#/components/schemas/HTTPValidationError'
30544
+ description: Validation Error
30545
+ security:
30546
+ - OAuth2PasswordBearer: []
30547
+ - APIKeyHeader: []
30548
+ summary: Re-run onboarding for the organization's whitelabel branding config
30549
+ tags:
30550
+ - whitelabel
30551
+ x-required-permissions:
30552
+ - whitelabel_branding:manage
30329
30553
  servers:
30330
30554
  - description: Production environment
30331
30555
  url: https://api.opusdns.com
package/src/schema.d.ts CHANGED
@@ -2793,6 +2793,41 @@ export interface paths {
2793
2793
  patch?: never;
2794
2794
  trace?: never;
2795
2795
  };
2796
+ "/v1/whitelabel-branding": {
2797
+ parameters: {
2798
+ query?: never;
2799
+ header?: never;
2800
+ path?: never;
2801
+ cookie?: never;
2802
+ };
2803
+ /** Get the organization's whitelabel branding config */
2804
+ get: operations["get_whitelabel_branding_v1_whitelabel_branding_get"];
2805
+ put?: never;
2806
+ /** Create the organization's whitelabel branding config */
2807
+ post: operations["create_whitelabel_branding_v1_whitelabel_branding_post"];
2808
+ delete?: never;
2809
+ options?: never;
2810
+ head?: never;
2811
+ patch?: never;
2812
+ trace?: never;
2813
+ };
2814
+ "/v1/whitelabel-branding/recheck": {
2815
+ parameters: {
2816
+ query?: never;
2817
+ header?: never;
2818
+ path?: never;
2819
+ cookie?: never;
2820
+ };
2821
+ get?: never;
2822
+ put?: never;
2823
+ /** Re-run onboarding for the organization's whitelabel branding config */
2824
+ post: operations["recheck_whitelabel_branding_v1_whitelabel_branding_recheck_post"];
2825
+ delete?: never;
2826
+ options?: never;
2827
+ head?: never;
2828
+ patch?: never;
2829
+ trace?: never;
2830
+ };
2796
2831
  }
2797
2832
  export type webhooks = Record<string, never>;
2798
2833
  export interface components {
@@ -5925,6 +5960,11 @@ export interface components {
5925
5960
  * @description Operations that trigger a sync with the registry
5926
5961
  */
5927
5962
  sync_after_operations?: components["schemas"]["SyncOperationType"][] | null;
5963
+ /**
5964
+ * Transfer Grace Period
5965
+ * @description Transfer grace period after a transfer in ISO 8601 format (e.g., 5D, 3D)
5966
+ */
5967
+ transfer_grace_period?: string | null;
5928
5968
  /** @description List of allowed transfer renewal periods (eg. '1y') */
5929
5969
  transfer_renewal_periods?: components["schemas"]["PeriodList"];
5930
5970
  };
@@ -10070,6 +10110,26 @@ export interface components {
10070
10110
  /** Problem type */
10071
10111
  type: string;
10072
10112
  };
10113
+ /** ProductCreateRes */
10114
+ ProductCreateRes: {
10115
+ /**
10116
+ * Product Name
10117
+ * @description The product name
10118
+ */
10119
+ product_name: string;
10120
+ /**
10121
+ * Subscribable Id
10122
+ * @description The created resource ID
10123
+ */
10124
+ subscribable_id: string;
10125
+ /**
10126
+ * Subscription Id
10127
+ * Format: typeid
10128
+ * @description The created subscription ID
10129
+ * @example subscription_01h45ytscbebyvny4gc8cr8ma2
10130
+ */
10131
+ subscription_id: TypeId<"subscription">;
10132
+ };
10073
10133
  /**
10074
10134
  * Protocol
10075
10135
  * @enum {string}
@@ -11897,6 +11957,69 @@ export interface components {
11897
11957
  /** Unique */
11898
11958
  unique: number;
11899
11959
  };
11960
+ /**
11961
+ * WhitelabelBrandingCreate
11962
+ * @description Public create request body. The owning org comes from auth context, and
11963
+ * `verification_domain` is derived server-side (the registrable domain of `hostname`),
11964
+ * so neither is accepted here. Both hostnames must resolve to the same registrable
11965
+ * domain (checked server-side in WhitelabelBrandingService.create).
11966
+ */
11967
+ WhitelabelBrandingCreate: {
11968
+ /**
11969
+ * Auth Hostname
11970
+ * @description Auth/login hostname served by Keycloak (e.g. auth.customer.com)
11971
+ */
11972
+ auth_hostname: string;
11973
+ /**
11974
+ * Hostname
11975
+ * @description Dashboard hostname the customer wants to brand (e.g. dash.customer.com)
11976
+ */
11977
+ hostname: string;
11978
+ };
11979
+ /**
11980
+ * WhitelabelBrandingResponse
11981
+ * @description Public read shape for an organization's whitelabel branding config.
11982
+ */
11983
+ WhitelabelBrandingResponse: {
11984
+ /** Auth Hostname */
11985
+ auth_hostname: string;
11986
+ /**
11987
+ * Created On
11988
+ * Format: date-time
11989
+ */
11990
+ created_on: Date;
11991
+ /** Failure Reason */
11992
+ failure_reason: string | null;
11993
+ /** Hostname */
11994
+ hostname: string;
11995
+ /** Keycloak Client Id */
11996
+ keycloak_client_id: string | null;
11997
+ onboarding_status: components["schemas"]["WhitelabelOnboardingStatus"];
11998
+ /**
11999
+ * Organization Id
12000
+ * Format: typeid
12001
+ * @example organization_01h45ytscbebyvny4gc8cr8ma2
12002
+ */
12003
+ organization_id: TypeId<"organization">;
12004
+ /**
12005
+ * Updated On
12006
+ * Format: date-time
12007
+ */
12008
+ updated_on: Date;
12009
+ /** Verification Domain */
12010
+ verification_domain: string;
12011
+ /**
12012
+ * Whitelabel Branding Id
12013
+ * Format: typeid
12014
+ * @example wlb_01h45ytscbebyvny4gc8cr8ma2
12015
+ */
12016
+ whitelabel_branding_id: TypeId<"wlb">;
12017
+ };
12018
+ /**
12019
+ * WhitelabelOnboardingStatus
12020
+ * @enum {string}
12021
+ */
12022
+ WhitelabelOnboardingStatus: "pending_domain_verification" | "verifying" | "provisioning" | "active" | "failed";
11900
12023
  /** WhoisBase */
11901
12024
  WhoisBase: {
11902
12025
  /**
@@ -25561,4 +25684,113 @@ export interface operations {
25561
25684
  };
25562
25685
  };
25563
25686
  };
25687
+ get_whitelabel_branding_v1_whitelabel_branding_get: {
25688
+ parameters: {
25689
+ query?: never;
25690
+ header?: {
25691
+ /**
25692
+ * @description Opt in to RFC 3339 datetime serialization. When set to `rfc3339`, response datetimes are normalized to UTC and serialized with a `Z` suffix. This is opt-in until the announced default cutover date, after which RFC 3339 becomes the default and this header is accepted as a no-op. Any other value or omission uses the current default serialization.
25693
+ * @example rfc3339
25694
+ */
25695
+ "X-Datetime-Format"?: components["parameters"]["DatetimeFormatHeader"];
25696
+ };
25697
+ path?: never;
25698
+ cookie?: never;
25699
+ };
25700
+ requestBody?: never;
25701
+ responses: {
25702
+ /** @description Successful Response */
25703
+ 200: {
25704
+ headers: {
25705
+ [name: string]: unknown;
25706
+ };
25707
+ content: {
25708
+ "application/json": components["schemas"]["WhitelabelBrandingResponse"];
25709
+ };
25710
+ };
25711
+ /** @description Validation Error */
25712
+ 422: {
25713
+ headers: {
25714
+ [name: string]: unknown;
25715
+ };
25716
+ content: {
25717
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
25718
+ };
25719
+ };
25720
+ };
25721
+ };
25722
+ create_whitelabel_branding_v1_whitelabel_branding_post: {
25723
+ parameters: {
25724
+ query?: never;
25725
+ header?: {
25726
+ /**
25727
+ * @description Opt in to RFC 3339 datetime serialization. When set to `rfc3339`, response datetimes are normalized to UTC and serialized with a `Z` suffix. This is opt-in until the announced default cutover date, after which RFC 3339 becomes the default and this header is accepted as a no-op. Any other value or omission uses the current default serialization.
25728
+ * @example rfc3339
25729
+ */
25730
+ "X-Datetime-Format"?: components["parameters"]["DatetimeFormatHeader"];
25731
+ };
25732
+ path?: never;
25733
+ cookie?: never;
25734
+ };
25735
+ requestBody: {
25736
+ content: {
25737
+ "application/json": components["schemas"]["WhitelabelBrandingCreate"];
25738
+ };
25739
+ };
25740
+ responses: {
25741
+ /** @description Successful Response */
25742
+ 202: {
25743
+ headers: {
25744
+ [name: string]: unknown;
25745
+ };
25746
+ content: {
25747
+ "application/json": components["schemas"]["ProductCreateRes"];
25748
+ };
25749
+ };
25750
+ /** @description Validation Error */
25751
+ 422: {
25752
+ headers: {
25753
+ [name: string]: unknown;
25754
+ };
25755
+ content: {
25756
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
25757
+ };
25758
+ };
25759
+ };
25760
+ };
25761
+ recheck_whitelabel_branding_v1_whitelabel_branding_recheck_post: {
25762
+ parameters: {
25763
+ query?: never;
25764
+ header?: {
25765
+ /**
25766
+ * @description Opt in to RFC 3339 datetime serialization. When set to `rfc3339`, response datetimes are normalized to UTC and serialized with a `Z` suffix. This is opt-in until the announced default cutover date, after which RFC 3339 becomes the default and this header is accepted as a no-op. Any other value or omission uses the current default serialization.
25767
+ * @example rfc3339
25768
+ */
25769
+ "X-Datetime-Format"?: components["parameters"]["DatetimeFormatHeader"];
25770
+ };
25771
+ path?: never;
25772
+ cookie?: never;
25773
+ };
25774
+ requestBody?: never;
25775
+ responses: {
25776
+ /** @description Successful Response */
25777
+ 202: {
25778
+ headers: {
25779
+ [name: string]: unknown;
25780
+ };
25781
+ content: {
25782
+ "application/json": components["schemas"]["WhitelabelBrandingResponse"];
25783
+ };
25784
+ };
25785
+ /** @description Validation Error */
25786
+ 422: {
25787
+ headers: {
25788
+ [name: string]: unknown;
25789
+ };
25790
+ content: {
25791
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
25792
+ };
25793
+ };
25794
+ };
25795
+ };
25564
25796
  }