@opusdns/api 1.6.0 → 1.8.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.6.0",
6
+ "version": "1.8.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -1,5 +1,6 @@
1
1
  import type {
2
2
  AllocationMethodType,
3
+ AssignablePublicRole,
3
4
  AttributeType,
4
5
  BatchSortField,
5
6
  BatchStatus,
@@ -118,6 +119,22 @@ export const ALLOCATION_METHOD_TYPE_VALUES = [
118
119
  'lottery',
119
120
  ] as const satisfies ReadonlyArray<AllocationMethodType>;
120
121
 
122
+ export const ASSIGNABLE_PUBLIC_ROLE = {
123
+ ADMIN: "admin",
124
+ VIEWER: "viewer",
125
+ DOMAIN_MANAGER: "domain_manager",
126
+ DNS_MANAGER: "dns_manager",
127
+ BILLING_MANAGER: "billing_manager",
128
+ } as const satisfies Record<string, AssignablePublicRole>;
129
+
130
+ export const ASSIGNABLE_PUBLIC_ROLE_VALUES = [
131
+ 'admin',
132
+ 'viewer',
133
+ 'domain_manager',
134
+ 'dns_manager',
135
+ 'billing_manager',
136
+ ] as const satisfies ReadonlyArray<AssignablePublicRole>;
137
+
121
138
  export const ATTRIBUTE_TYPE = {
122
139
  ENUM: "enum",
123
140
  STRING: "string",
@@ -1355,6 +1372,7 @@ export const PUBLIC_RESOURCE_VALUES = [
1355
1372
  ] as const satisfies ReadonlyArray<PublicResource>;
1356
1373
 
1357
1374
  export const PUBLIC_ROLE = {
1375
+ OWNER: "owner",
1358
1376
  ADMIN: "admin",
1359
1377
  VIEWER: "viewer",
1360
1378
  DOMAIN_MANAGER: "domain_manager",
@@ -1363,6 +1381,7 @@ export const PUBLIC_ROLE = {
1363
1381
  } as const satisfies Record<string, PublicRole>;
1364
1382
 
1365
1383
  export const PUBLIC_ROLE_VALUES = [
1384
+ 'owner',
1366
1385
  'admin',
1367
1386
  'viewer',
1368
1387
  'domain_manager',
@@ -265,6 +265,7 @@ import type {
265
265
  PublicReportListRes,
266
266
  PublicReportRes,
267
267
  PublicRoleAssignment,
268
+ PublicRoleAssignmentRequest,
268
269
  RdapBase,
269
270
  ReferrerStatsBucket,
270
271
  RegistryLockBase,
@@ -302,9 +303,10 @@ import type {
302
303
  UserCreate,
303
304
  UserPublic,
304
305
  UserPublicWithAttributes,
306
+ UserPublicWithRole,
305
307
  UserToken,
306
308
  UserUpdate,
307
- UserWithPermissions,
309
+ UserWithAuthorization,
308
310
  ValidationError,
309
311
  VerificationDeadline,
310
312
  VerificationRegistrantDetails,
@@ -3725,6 +3727,12 @@ export const KEYS_PUBLIC_ROLE_ASSIGNMENT = [
3725
3727
  KEY_PUBLIC_ROLE_ASSIGNMENT_ROLE,
3726
3728
  ] as const satisfies (keyof PublicRoleAssignment)[];
3727
3729
 
3730
+ export const KEY_PUBLIC_ROLE_ASSIGNMENT_REQUEST_ROLE = 'role' satisfies keyof PublicRoleAssignmentRequest;
3731
+
3732
+ export const KEYS_PUBLIC_ROLE_ASSIGNMENT_REQUEST = [
3733
+ KEY_PUBLIC_ROLE_ASSIGNMENT_REQUEST_ROLE,
3734
+ ] as const satisfies (keyof PublicRoleAssignmentRequest)[];
3735
+
3728
3736
  export const KEY_RDAP_BASE_RDAP_SERVER = 'rdap_server' satisfies keyof RdapBase;
3729
3737
 
3730
3738
  export const KEYS_RDAP_BASE = [
@@ -4257,6 +4265,36 @@ export const KEYS_USER_PUBLIC_WITH_ATTRIBUTES = [
4257
4265
  KEY_USER_PUBLIC_WITH_ATTRIBUTES_USERNAME,
4258
4266
  ] as const satisfies (keyof UserPublicWithAttributes)[];
4259
4267
 
4268
+ export const KEY_USER_PUBLIC_WITH_ROLE_CREATED_ON = 'created_on' satisfies keyof UserPublicWithRole;
4269
+ export const KEY_USER_PUBLIC_WITH_ROLE_DELETED_ON = 'deleted_on' satisfies keyof UserPublicWithRole;
4270
+ export const KEY_USER_PUBLIC_WITH_ROLE_EMAIL = 'email' satisfies keyof UserPublicWithRole;
4271
+ export const KEY_USER_PUBLIC_WITH_ROLE_FIRST_NAME = 'first_name' satisfies keyof UserPublicWithRole;
4272
+ export const KEY_USER_PUBLIC_WITH_ROLE_LAST_NAME = 'last_name' satisfies keyof UserPublicWithRole;
4273
+ export const KEY_USER_PUBLIC_WITH_ROLE_LOCALE = 'locale' satisfies keyof UserPublicWithRole;
4274
+ export const KEY_USER_PUBLIC_WITH_ROLE_ORGANIZATION_ID = 'organization_id' satisfies keyof UserPublicWithRole;
4275
+ export const KEY_USER_PUBLIC_WITH_ROLE_PHONE = 'phone' satisfies keyof UserPublicWithRole;
4276
+ export const KEY_USER_PUBLIC_WITH_ROLE_ROLE = 'role' satisfies keyof UserPublicWithRole;
4277
+ export const KEY_USER_PUBLIC_WITH_ROLE_STATUS = 'status' satisfies keyof UserPublicWithRole;
4278
+ export const KEY_USER_PUBLIC_WITH_ROLE_UPDATED_ON = 'updated_on' satisfies keyof UserPublicWithRole;
4279
+ export const KEY_USER_PUBLIC_WITH_ROLE_USER_ID = 'user_id' satisfies keyof UserPublicWithRole;
4280
+ export const KEY_USER_PUBLIC_WITH_ROLE_USERNAME = 'username' satisfies keyof UserPublicWithRole;
4281
+
4282
+ export const KEYS_USER_PUBLIC_WITH_ROLE = [
4283
+ KEY_USER_PUBLIC_WITH_ROLE_CREATED_ON,
4284
+ KEY_USER_PUBLIC_WITH_ROLE_DELETED_ON,
4285
+ KEY_USER_PUBLIC_WITH_ROLE_EMAIL,
4286
+ KEY_USER_PUBLIC_WITH_ROLE_FIRST_NAME,
4287
+ KEY_USER_PUBLIC_WITH_ROLE_LAST_NAME,
4288
+ KEY_USER_PUBLIC_WITH_ROLE_LOCALE,
4289
+ KEY_USER_PUBLIC_WITH_ROLE_ORGANIZATION_ID,
4290
+ KEY_USER_PUBLIC_WITH_ROLE_PHONE,
4291
+ KEY_USER_PUBLIC_WITH_ROLE_ROLE,
4292
+ KEY_USER_PUBLIC_WITH_ROLE_STATUS,
4293
+ KEY_USER_PUBLIC_WITH_ROLE_UPDATED_ON,
4294
+ KEY_USER_PUBLIC_WITH_ROLE_USER_ID,
4295
+ KEY_USER_PUBLIC_WITH_ROLE_USERNAME,
4296
+ ] as const satisfies (keyof UserPublicWithRole)[];
4297
+
4260
4298
  export const KEY_USER_TOKEN_ACCESS_TOKEN = 'access_token' satisfies keyof UserToken;
4261
4299
  export const KEY_USER_TOKEN_EXPIRES_IN = 'expires_in' satisfies keyof UserToken;
4262
4300
  export const KEY_USER_TOKEN_REFRESH_EXPIRES_IN = 'refresh_expires_in' satisfies keyof UserToken;
@@ -4289,37 +4327,39 @@ export const KEYS_USER_UPDATE = [
4289
4327
  KEY_USER_UPDATE_USERNAME,
4290
4328
  ] as const satisfies (keyof UserUpdate)[];
4291
4329
 
4292
- export const KEY_USER_WITH_PERMISSIONS_CREATED_ON = 'created_on' satisfies keyof UserWithPermissions;
4293
- export const KEY_USER_WITH_PERMISSIONS_DELETED_ON = 'deleted_on' satisfies keyof UserWithPermissions;
4294
- export const KEY_USER_WITH_PERMISSIONS_EMAIL = 'email' satisfies keyof UserWithPermissions;
4295
- export const KEY_USER_WITH_PERMISSIONS_FIRST_NAME = 'first_name' satisfies keyof UserWithPermissions;
4296
- export const KEY_USER_WITH_PERMISSIONS_LAST_NAME = 'last_name' satisfies keyof UserWithPermissions;
4297
- export const KEY_USER_WITH_PERMISSIONS_LOCALE = 'locale' satisfies keyof UserWithPermissions;
4298
- export const KEY_USER_WITH_PERMISSIONS_ORGANIZATION_ID = 'organization_id' satisfies keyof UserWithPermissions;
4299
- export const KEY_USER_WITH_PERMISSIONS_PERMISSIONS = 'permissions' satisfies keyof UserWithPermissions;
4300
- export const KEY_USER_WITH_PERMISSIONS_PHONE = 'phone' satisfies keyof UserWithPermissions;
4301
- export const KEY_USER_WITH_PERMISSIONS_STATUS = 'status' satisfies keyof UserWithPermissions;
4302
- export const KEY_USER_WITH_PERMISSIONS_UPDATED_ON = 'updated_on' satisfies keyof UserWithPermissions;
4303
- export const KEY_USER_WITH_PERMISSIONS_USER_ATTRIBUTES = 'user_attributes' satisfies keyof UserWithPermissions;
4304
- export const KEY_USER_WITH_PERMISSIONS_USER_ID = 'user_id' satisfies keyof UserWithPermissions;
4305
- export const KEY_USER_WITH_PERMISSIONS_USERNAME = 'username' satisfies keyof UserWithPermissions;
4306
-
4307
- export const KEYS_USER_WITH_PERMISSIONS = [
4308
- KEY_USER_WITH_PERMISSIONS_CREATED_ON,
4309
- KEY_USER_WITH_PERMISSIONS_DELETED_ON,
4310
- KEY_USER_WITH_PERMISSIONS_EMAIL,
4311
- KEY_USER_WITH_PERMISSIONS_FIRST_NAME,
4312
- KEY_USER_WITH_PERMISSIONS_LAST_NAME,
4313
- KEY_USER_WITH_PERMISSIONS_LOCALE,
4314
- KEY_USER_WITH_PERMISSIONS_ORGANIZATION_ID,
4315
- KEY_USER_WITH_PERMISSIONS_PERMISSIONS,
4316
- KEY_USER_WITH_PERMISSIONS_PHONE,
4317
- KEY_USER_WITH_PERMISSIONS_STATUS,
4318
- KEY_USER_WITH_PERMISSIONS_UPDATED_ON,
4319
- KEY_USER_WITH_PERMISSIONS_USER_ATTRIBUTES,
4320
- KEY_USER_WITH_PERMISSIONS_USER_ID,
4321
- KEY_USER_WITH_PERMISSIONS_USERNAME,
4322
- ] as const satisfies (keyof UserWithPermissions)[];
4330
+ export const KEY_USER_WITH_AUTHORIZATION_CREATED_ON = 'created_on' satisfies keyof UserWithAuthorization;
4331
+ export const KEY_USER_WITH_AUTHORIZATION_DELETED_ON = 'deleted_on' satisfies keyof UserWithAuthorization;
4332
+ export const KEY_USER_WITH_AUTHORIZATION_EMAIL = 'email' satisfies keyof UserWithAuthorization;
4333
+ export const KEY_USER_WITH_AUTHORIZATION_FIRST_NAME = 'first_name' satisfies keyof UserWithAuthorization;
4334
+ export const KEY_USER_WITH_AUTHORIZATION_LAST_NAME = 'last_name' satisfies keyof UserWithAuthorization;
4335
+ export const KEY_USER_WITH_AUTHORIZATION_LOCALE = 'locale' satisfies keyof UserWithAuthorization;
4336
+ export const KEY_USER_WITH_AUTHORIZATION_ORGANIZATION_ID = 'organization_id' satisfies keyof UserWithAuthorization;
4337
+ export const KEY_USER_WITH_AUTHORIZATION_PERMISSIONS = 'permissions' satisfies keyof UserWithAuthorization;
4338
+ export const KEY_USER_WITH_AUTHORIZATION_PHONE = 'phone' satisfies keyof UserWithAuthorization;
4339
+ export const KEY_USER_WITH_AUTHORIZATION_ROLE = 'role' satisfies keyof UserWithAuthorization;
4340
+ export const KEY_USER_WITH_AUTHORIZATION_STATUS = 'status' satisfies keyof UserWithAuthorization;
4341
+ export const KEY_USER_WITH_AUTHORIZATION_UPDATED_ON = 'updated_on' satisfies keyof UserWithAuthorization;
4342
+ export const KEY_USER_WITH_AUTHORIZATION_USER_ATTRIBUTES = 'user_attributes' satisfies keyof UserWithAuthorization;
4343
+ export const KEY_USER_WITH_AUTHORIZATION_USER_ID = 'user_id' satisfies keyof UserWithAuthorization;
4344
+ export const KEY_USER_WITH_AUTHORIZATION_USERNAME = 'username' satisfies keyof UserWithAuthorization;
4345
+
4346
+ export const KEYS_USER_WITH_AUTHORIZATION = [
4347
+ KEY_USER_WITH_AUTHORIZATION_CREATED_ON,
4348
+ KEY_USER_WITH_AUTHORIZATION_DELETED_ON,
4349
+ KEY_USER_WITH_AUTHORIZATION_EMAIL,
4350
+ KEY_USER_WITH_AUTHORIZATION_FIRST_NAME,
4351
+ KEY_USER_WITH_AUTHORIZATION_LAST_NAME,
4352
+ KEY_USER_WITH_AUTHORIZATION_LOCALE,
4353
+ KEY_USER_WITH_AUTHORIZATION_ORGANIZATION_ID,
4354
+ KEY_USER_WITH_AUTHORIZATION_PERMISSIONS,
4355
+ KEY_USER_WITH_AUTHORIZATION_PHONE,
4356
+ KEY_USER_WITH_AUTHORIZATION_ROLE,
4357
+ KEY_USER_WITH_AUTHORIZATION_STATUS,
4358
+ KEY_USER_WITH_AUTHORIZATION_UPDATED_ON,
4359
+ KEY_USER_WITH_AUTHORIZATION_USER_ATTRIBUTES,
4360
+ KEY_USER_WITH_AUTHORIZATION_USER_ID,
4361
+ KEY_USER_WITH_AUTHORIZATION_USERNAME,
4362
+ ] as const satisfies (keyof UserWithAuthorization)[];
4323
4363
 
4324
4364
  export const KEY_VALIDATION_ERROR_CTX = 'ctx' satisfies keyof ValidationError;
4325
4365
  export const KEY_VALIDATION_ERROR_INPUT = 'input' satisfies keyof ValidationError;
@@ -42,7 +42,7 @@ import type {
42
42
  ParkingSignupRequest,
43
43
  PasswordUpdate,
44
44
  PublicAuthRequestForm,
45
- PublicRoleAssignment,
45
+ PublicRoleAssignmentRequest,
46
46
  TagCreate,
47
47
  TagUpdate,
48
48
  UserCreate,
@@ -953,7 +953,7 @@ export type GET_UsersByUserIdRole_Request_Path = GET_UsersByUserIdRole_Request['
953
953
 
954
954
  export type PUT_UsersByUserIdRole_Request = {
955
955
  parameters: operations['set_user_role_v1_users__user_id__role_put']['parameters'];
956
- requestBody: PublicRoleAssignment;
956
+ requestBody: PublicRoleAssignmentRequest;
957
957
  };
958
958
  export type PUT_UsersByUserIdRole_Request_Path = PUT_UsersByUserIdRole_Request['parameters']['path'];
959
959
  export type PUT_UsersByUserIdRole_Request_Body = PUT_UsersByUserIdRole_Request['requestBody'];
@@ -75,7 +75,7 @@ import type {
75
75
  Pagination_Parking,
76
76
  Pagination_RequestHistory,
77
77
  Pagination_Tag,
78
- Pagination_UserPublic,
78
+ Pagination_UserPublicWithRole,
79
79
  ParkingMetrics,
80
80
  ParkingSignup,
81
81
  ParkingSignupStatus,
@@ -92,7 +92,7 @@ import type {
92
92
  TldSpecification,
93
93
  UserPublic,
94
94
  UserPublicWithAttributes,
95
- UserWithPermissions,
95
+ UserWithAuthorization,
96
96
  } from './schemas';
97
97
 
98
98
  export type DELETE_AiConciergeConversationsByConversationId_Response = DELETE_AiConciergeConversationsByConversationId_Response_401 | DELETE_AiConciergeConversationsByConversationId_Response_404 | DELETE_AiConciergeConversationsByConversationId_Response_422 | DELETE_AiConciergeConversationsByConversationId_Response_502;
@@ -642,7 +642,7 @@ export type GET_OrganizationsIpRestrictionsByIpRestrictionId_Response_422 = HTTP
642
642
 
643
643
  export type GET_OrganizationsUsers_Response = GET_OrganizationsUsers_Response_200 | GET_OrganizationsUsers_Response_401 | GET_OrganizationsUsers_Response_403 | GET_OrganizationsUsers_Response_422;
644
644
 
645
- export type GET_OrganizationsUsers_Response_200 = Pagination_UserPublic;
645
+ export type GET_OrganizationsUsers_Response_200 = Pagination_UserPublicWithRole;
646
646
  export type GET_OrganizationsUsers_Response_401 = Problem;
647
647
  export type GET_OrganizationsUsers_Response_403 = Problem;
648
648
  export type GET_OrganizationsUsers_Response_422 = HTTPValidationError;
@@ -735,7 +735,7 @@ export type GET_UsersByUserIdRole_Response_422 = HTTPValidationError;
735
735
 
736
736
  export type GET_UsersMe_Response = GET_UsersMe_Response_200 | GET_UsersMe_Response_422;
737
737
 
738
- export type GET_UsersMe_Response_200 = UserWithPermissions;
738
+ export type GET_UsersMe_Response_200 = UserWithAuthorization;
739
739
  export type GET_UsersMe_Response_422 = HTTPValidationError;
740
740
 
741
741
  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;
@@ -1197,7 +1197,8 @@ export type PUT_EmailForwardsByEmailForwardIdAliasesByAliasId_Response_403 = Pro
1197
1197
  export type PUT_EmailForwardsByEmailForwardIdAliasesByAliasId_Response_404 = Problem;
1198
1198
  export type PUT_EmailForwardsByEmailForwardIdAliasesByAliasId_Response_422 = HTTPValidationError;
1199
1199
 
1200
- export type PUT_UsersByUserIdRole_Response = PUT_UsersByUserIdRole_Response_200 | PUT_UsersByUserIdRole_Response_422;
1200
+ export type PUT_UsersByUserIdRole_Response = PUT_UsersByUserIdRole_Response_200 | PUT_UsersByUserIdRole_Response_403 | PUT_UsersByUserIdRole_Response_422;
1201
1201
 
1202
1202
  export type PUT_UsersByUserIdRole_Response_200 = PublicRoleAssignment;
1203
+ export type PUT_UsersByUserIdRole_Response_403 = Problem;
1203
1204
  export type PUT_UsersByUserIdRole_Response_422 = HTTPValidationError;
@@ -2,6 +2,7 @@ import { components } from '../schema';
2
2
 
3
3
  export type AllocationMethodType = components['schemas']['AllocationMethodType'];
4
4
  export type AllowedNumberOfNameserverBase = components['schemas']['AllowedNumberOfNameserverBase'];
5
+ export type AssignablePublicRole = components['schemas']['AssignablePublicRole'];
5
6
  export type AttributeCondition = components['schemas']['AttributeCondition'];
6
7
  export type AttributeType = components['schemas']['AttributeType'];
7
8
  export type BatchSortField = components['schemas']['BatchSortField'];
@@ -313,7 +314,7 @@ export type Pagination_Organization = components['schemas']['Pagination_Organiza
313
314
  export type Pagination_Parking = components['schemas']['Pagination_ParkingResponse_'];
314
315
  export type Pagination_RequestHistory = components['schemas']['Pagination_RequestHistory_'];
315
316
  export type Pagination_Tag = components['schemas']['Pagination_TagResponse_'];
316
- export type Pagination_UserPublic = components['schemas']['Pagination_UserPublic_'];
317
+ export type Pagination_UserPublicWithRole = components['schemas']['Pagination_UserPublicWithRole_'];
317
318
  export type ParkingActionPayloadData = components['schemas']['ParkingActionPayloadData'];
318
319
  export type ParkingAgreementAcceptance = components['schemas']['ParkingAgreementAcceptance'];
319
320
  export type ParkingCreateBulkCommand = components['schemas']['ParkingCreateBulkCommand'];
@@ -370,6 +371,7 @@ export type PublicReportRes = components['schemas']['PublicReportRes'];
370
371
  export type PublicResource = components['schemas']['PublicResource'];
371
372
  export type PublicRole = components['schemas']['PublicRole'];
372
373
  export type PublicRoleAssignment = components['schemas']['PublicRoleAssignment'];
374
+ export type PublicRoleAssignmentRequest = components['schemas']['PublicRoleAssignmentRequest'];
373
375
  export type PublicScope = components['schemas']['PublicScope'];
374
376
  export type RdapBase = components['schemas']['RdapBase'];
375
377
  export type RedirectCode = components['schemas']['RedirectCode'];
@@ -428,11 +430,12 @@ export type UserAttribute = components['schemas']['UserAttributeResponse'];
428
430
  export type UserCreate = components['schemas']['UserCreate'];
429
431
  export type UserPublic = components['schemas']['UserPublic'];
430
432
  export type UserPublicWithAttributes = components['schemas']['UserPublicWithAttributes'];
433
+ export type UserPublicWithRole = components['schemas']['UserPublicWithRole'];
431
434
  export type UserSortField = components['schemas']['UserSortField'];
432
435
  export type UserStatus = components['schemas']['UserStatus'];
433
436
  export type UserToken = components['schemas']['UserTokenResponse'];
434
437
  export type UserUpdate = components['schemas']['UserUpdate'];
435
- export type UserWithPermissions = components['schemas']['UserWithPermissions'];
438
+ export type UserWithAuthorization = components['schemas']['UserWithAuthorization'];
436
439
  export type ValidationError = components['schemas']['ValidationError'];
437
440
  export type VerificationClaimType = components['schemas']['VerificationClaimType'];
438
441
  export type VerificationDeadline = components['schemas']['VerificationDeadline'];
package/src/openapi.yaml CHANGED
@@ -23,6 +23,15 @@ components:
23
23
  - max
24
24
  title: AllowedNumberOfNameserverBase
25
25
  type: object
26
+ AssignablePublicRole:
27
+ enum:
28
+ - admin
29
+ - viewer
30
+ - domain_manager
31
+ - dns_manager
32
+ - billing_manager
33
+ title: AssignablePublicRole
34
+ type: string
26
35
  AttributeCondition:
27
36
  properties:
28
37
  field:
@@ -8484,19 +8493,19 @@ components:
8484
8493
  - pagination
8485
8494
  title: Pagination[TagResponse]
8486
8495
  type: object
8487
- Pagination_UserPublic_:
8496
+ Pagination_UserPublicWithRole_:
8488
8497
  properties:
8489
8498
  pagination:
8490
8499
  $ref: '#/components/schemas/PaginationMetadata'
8491
8500
  results:
8492
8501
  items:
8493
- $ref: '#/components/schemas/UserPublic'
8502
+ $ref: '#/components/schemas/UserPublicWithRole'
8494
8503
  title: Results
8495
8504
  type: array
8496
8505
  required:
8497
8506
  - results
8498
8507
  - pagination
8499
- title: Pagination[UserPublic]
8508
+ title: Pagination[UserPublicWithRole]
8500
8509
  type: object
8501
8510
  ParkingActionPayloadData:
8502
8511
  properties:
@@ -9449,6 +9458,7 @@ components:
9449
9458
  type: string
9450
9459
  PublicRole:
9451
9460
  enum:
9461
+ - owner
9452
9462
  - admin
9453
9463
  - viewer
9454
9464
  - domain_manager
@@ -9464,6 +9474,14 @@ components:
9464
9474
  - type: 'null'
9465
9475
  title: PublicRoleAssignment
9466
9476
  type: object
9477
+ PublicRoleAssignmentRequest:
9478
+ properties:
9479
+ role:
9480
+ anyOf:
9481
+ - $ref: '#/components/schemas/AssignablePublicRole'
9482
+ - type: 'null'
9483
+ title: PublicRoleAssignmentRequest
9484
+ type: object
9467
9485
  PublicScope:
9468
9486
  enum:
9469
9487
  - read
@@ -10999,6 +11017,97 @@ components:
10999
11017
  - status
11000
11018
  title: UserPublicWithAttributes
11001
11019
  type: object
11020
+ UserPublicWithRole:
11021
+ properties:
11022
+ created_on:
11023
+ description: The date/time the entry was created on
11024
+ format: date-time
11025
+ title: Created On
11026
+ type: string
11027
+ deleted_on:
11028
+ anyOf:
11029
+ - format: date-time
11030
+ type: string
11031
+ - type: 'null'
11032
+ description: The date/time the entry was deleted on
11033
+ title: Deleted On
11034
+ email:
11035
+ description: The user's email address
11036
+ format: email
11037
+ title: Email
11038
+ type: string
11039
+ first_name:
11040
+ description: The user's first name
11041
+ maxLength: 255
11042
+ minLength: 1
11043
+ title: First Name
11044
+ type: string
11045
+ last_name:
11046
+ description: The user's last name
11047
+ maxLength: 255
11048
+ minLength: 1
11049
+ title: Last Name
11050
+ type: string
11051
+ locale:
11052
+ examples:
11053
+ - en_US
11054
+ title: Locale
11055
+ type: string
11056
+ organization_id:
11057
+ default: None
11058
+ description: The user's organization id
11059
+ examples:
11060
+ - organization_01h45ytscbebyvny4gc8cr8ma2
11061
+ format: typeid
11062
+ pattern: ^organization_[0-7][0-9a-hjkmnpq-tv-z]{25}$
11063
+ title: Organization Id
11064
+ type: string
11065
+ x-typeid-prefix: organization
11066
+ phone:
11067
+ anyOf:
11068
+ - format: phone
11069
+ type: string
11070
+ - type: 'null'
11071
+ description: The user's phone number
11072
+ examples:
11073
+ - '+1.2125552368'
11074
+ title: Phone
11075
+ role:
11076
+ anyOf:
11077
+ - $ref: '#/components/schemas/PublicRole'
11078
+ - type: 'null'
11079
+ status:
11080
+ $ref: '#/components/schemas/UserStatus'
11081
+ readOnly: true
11082
+ updated_on:
11083
+ description: The date/time the entry was last updated on
11084
+ format: date-time
11085
+ title: Updated On
11086
+ type: string
11087
+ user_id:
11088
+ examples:
11089
+ - user_01h45ytscbebyvny4gc8cr8ma2
11090
+ format: typeid
11091
+ pattern: ^user_[0-7][0-9a-hjkmnpq-tv-z]{25}$
11092
+ title: User Id
11093
+ type: string
11094
+ x-typeid-prefix: user
11095
+ username:
11096
+ description: The user's unique username
11097
+ maxLength: 128
11098
+ minLength: 3
11099
+ pattern: ^[a-zA-Z0-9\-+_@.]+$
11100
+ title: Username
11101
+ type: string
11102
+ required:
11103
+ - username
11104
+ - first_name
11105
+ - last_name
11106
+ - email
11107
+ - locale
11108
+ - status
11109
+ title: UserPublicWithRole
11110
+ type: object
11002
11111
  UserSortField:
11003
11112
  enum:
11004
11113
  - created_on
@@ -11105,7 +11214,7 @@ components:
11105
11214
  title: Username
11106
11215
  title: UserUpdate
11107
11216
  type: object
11108
- UserWithPermissions:
11217
+ UserWithAuthorization:
11109
11218
  properties:
11110
11219
  created_on:
11111
11220
  description: The date/time the entry was created on
@@ -11167,6 +11276,10 @@ components:
11167
11276
  examples:
11168
11277
  - '+1.2125552368'
11169
11278
  title: Phone
11279
+ role:
11280
+ anyOf:
11281
+ - $ref: '#/components/schemas/PublicRole'
11282
+ - type: 'null'
11170
11283
  status:
11171
11284
  $ref: '#/components/schemas/UserStatus'
11172
11285
  readOnly: true
@@ -11211,7 +11324,7 @@ components:
11211
11324
  - email
11212
11325
  - locale
11213
11326
  - status
11214
- title: UserWithPermissions
11327
+ title: UserWithAuthorization
11215
11328
  type: object
11216
11329
  ValidationError:
11217
11330
  properties:
@@ -11537,7 +11650,7 @@ info:
11537
11650
  \n\n"
11538
11651
  summary: OpusDNS - your gateway to a seamless domain management experience.
11539
11652
  title: OpusDNS API
11540
- version: 2026-06-10-075045
11653
+ version: 2026-06-11-084702
11541
11654
  x-logo:
11542
11655
  altText: OpusDNS API Reference
11543
11656
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -23497,7 +23610,7 @@ paths:
23497
23610
  content:
23498
23611
  application/json:
23499
23612
  schema:
23500
- $ref: '#/components/schemas/Pagination_UserPublic_'
23613
+ $ref: '#/components/schemas/Pagination_UserPublicWithRole_'
23501
23614
  description: Successful Response
23502
23615
  '401':
23503
23616
  content:
@@ -25406,7 +25519,7 @@ paths:
25406
25519
  content:
25407
25520
  application/json:
25408
25521
  schema:
25409
- $ref: '#/components/schemas/UserWithPermissions'
25522
+ $ref: '#/components/schemas/UserWithAuthorization'
25410
25523
  description: Successful Response
25411
25524
  '422':
25412
25525
  content:
@@ -25696,7 +25809,7 @@ paths:
25696
25809
  content:
25697
25810
  application/json:
25698
25811
  schema:
25699
- $ref: '#/components/schemas/PublicRoleAssignment'
25812
+ $ref: '#/components/schemas/PublicRoleAssignmentRequest'
25700
25813
  required: true
25701
25814
  responses:
25702
25815
  '200':
@@ -25705,6 +25818,18 @@ paths:
25705
25818
  schema:
25706
25819
  $ref: '#/components/schemas/PublicRoleAssignment'
25707
25820
  description: Successful Response
25821
+ '403':
25822
+ content:
25823
+ application/problem+json:
25824
+ example:
25825
+ code: ERROR_ONLY_OWNER_CAN_MANAGE_ADMIN_ROLE
25826
+ detail: Additional error context.
25827
+ status: 403
25828
+ title: User Management Error
25829
+ type: only-owner-can-manage-admin-role
25830
+ schema:
25831
+ $ref: '#/components/schemas/Problem'
25832
+ description: Forbidden
25708
25833
  '422':
25709
25834
  content:
25710
25835
  application/problem+json:
@@ -25713,7 +25838,6 @@ paths:
25713
25838
  description: Validation Error
25714
25839
  security:
25715
25840
  - OAuth2PasswordBearer: []
25716
- - APIKeyHeader: []
25717
25841
  summary: Set user role
25718
25842
  tags:
25719
25843
  - user
package/src/schema.d.ts CHANGED
@@ -2462,6 +2462,11 @@ export interface components {
2462
2462
  */
2463
2463
  min: number;
2464
2464
  };
2465
+ /**
2466
+ * AssignablePublicRole
2467
+ * @enum {string}
2468
+ */
2469
+ AssignablePublicRole: "admin" | "viewer" | "domain_manager" | "dns_manager" | "billing_manager";
2465
2470
  /** AttributeCondition */
2466
2471
  AttributeCondition: {
2467
2472
  /** @description The attribute key to evaluate */
@@ -8008,11 +8013,11 @@ export interface components {
8008
8013
  /** Results */
8009
8014
  results: components["schemas"]["TagResponse"][];
8010
8015
  };
8011
- /** Pagination[UserPublic] */
8012
- Pagination_UserPublic_: {
8016
+ /** Pagination[UserPublicWithRole] */
8017
+ Pagination_UserPublicWithRole_: {
8013
8018
  pagination: components["schemas"]["PaginationMetadata"];
8014
8019
  /** Results */
8015
- results: components["schemas"]["UserPublic"][];
8020
+ results: components["schemas"]["UserPublicWithRole"][];
8016
8021
  };
8017
8022
  /** ParkingActionPayloadData */
8018
8023
  ParkingActionPayloadData: {
@@ -8673,11 +8678,15 @@ export interface components {
8673
8678
  * PublicRole
8674
8679
  * @enum {string}
8675
8680
  */
8676
- PublicRole: "admin" | "viewer" | "domain_manager" | "dns_manager" | "billing_manager";
8681
+ PublicRole: "owner" | "admin" | "viewer" | "domain_manager" | "dns_manager" | "billing_manager";
8677
8682
  /** PublicRoleAssignment */
8678
8683
  PublicRoleAssignment: {
8679
8684
  role?: components["schemas"]["PublicRole"] | null;
8680
8685
  };
8686
+ /** PublicRoleAssignmentRequest */
8687
+ PublicRoleAssignmentRequest: {
8688
+ role?: components["schemas"]["AssignablePublicRole"] | null;
8689
+ };
8681
8690
  /**
8682
8691
  * PublicScope
8683
8692
  * @enum {string}
@@ -9740,6 +9749,74 @@ export interface components {
9740
9749
  */
9741
9750
  username: string;
9742
9751
  };
9752
+ /** UserPublicWithRole */
9753
+ UserPublicWithRole: {
9754
+ /**
9755
+ * Created On
9756
+ * Format: date-time
9757
+ * @description The date/time the entry was created on
9758
+ */
9759
+ created_on?: Date;
9760
+ /**
9761
+ * Deleted On
9762
+ * @description The date/time the entry was deleted on
9763
+ */
9764
+ deleted_on?: Date | null;
9765
+ /**
9766
+ * Email
9767
+ * Format: email
9768
+ * @description The user's email address
9769
+ */
9770
+ email: string;
9771
+ /**
9772
+ * First Name
9773
+ * @description The user's first name
9774
+ */
9775
+ first_name: string;
9776
+ /**
9777
+ * Last Name
9778
+ * @description The user's last name
9779
+ */
9780
+ last_name: string;
9781
+ /**
9782
+ * Locale
9783
+ * @example en_US
9784
+ */
9785
+ locale: string;
9786
+ /**
9787
+ * Organization Id
9788
+ * Format: typeid
9789
+ * @description The user's organization id
9790
+ * @default None
9791
+ * @example organization_01h45ytscbebyvny4gc8cr8ma2
9792
+ */
9793
+ organization_id: TypeId<"organization">;
9794
+ /**
9795
+ * Phone
9796
+ * @description The user's phone number
9797
+ * @example +1.2125552368
9798
+ */
9799
+ phone?: string | null;
9800
+ role?: components["schemas"]["PublicRole"] | null;
9801
+ readonly status: components["schemas"]["UserStatus"];
9802
+ /**
9803
+ * Updated On
9804
+ * Format: date-time
9805
+ * @description The date/time the entry was last updated on
9806
+ */
9807
+ updated_on?: Date;
9808
+ /**
9809
+ * User Id
9810
+ * Format: typeid
9811
+ * @example user_01h45ytscbebyvny4gc8cr8ma2
9812
+ */
9813
+ user_id?: TypeId<"user">;
9814
+ /**
9815
+ * Username
9816
+ * @description The user's unique username
9817
+ */
9818
+ username: string;
9819
+ };
9743
9820
  /**
9744
9821
  * UserSortField
9745
9822
  * @enum {string}
@@ -9817,8 +9894,8 @@ export interface components {
9817
9894
  */
9818
9895
  username?: string | null;
9819
9896
  };
9820
- /** UserWithPermissions */
9821
- UserWithPermissions: {
9897
+ /** UserWithAuthorization */
9898
+ UserWithAuthorization: {
9822
9899
  /**
9823
9900
  * Created On
9824
9901
  * Format: date-time
@@ -9867,6 +9944,7 @@ export interface components {
9867
9944
  * @example +1.2125552368
9868
9945
  */
9869
9946
  phone?: string | null;
9947
+ role?: components["schemas"]["PublicRole"] | null;
9870
9948
  readonly status: components["schemas"]["UserStatus"];
9871
9949
  /**
9872
9950
  * Updated On
@@ -18659,7 +18737,7 @@ export interface operations {
18659
18737
  [name: string]: unknown;
18660
18738
  };
18661
18739
  content: {
18662
- "application/json": components["schemas"]["Pagination_UserPublic_"];
18740
+ "application/json": components["schemas"]["Pagination_UserPublicWithRole_"];
18663
18741
  };
18664
18742
  };
18665
18743
  /** @description Unauthorized */
@@ -20386,7 +20464,7 @@ export interface operations {
20386
20464
  [name: string]: unknown;
20387
20465
  };
20388
20466
  content: {
20389
- "application/json": components["schemas"]["UserWithPermissions"];
20467
+ "application/json": components["schemas"]["UserWithAuthorization"];
20390
20468
  };
20391
20469
  };
20392
20470
  /** @description Validation Error */
@@ -20649,7 +20727,7 @@ export interface operations {
20649
20727
  };
20650
20728
  requestBody: {
20651
20729
  content: {
20652
- "application/json": components["schemas"]["PublicRoleAssignment"];
20730
+ "application/json": components["schemas"]["PublicRoleAssignmentRequest"];
20653
20731
  };
20654
20732
  };
20655
20733
  responses: {
@@ -20662,6 +20740,22 @@ export interface operations {
20662
20740
  "application/json": components["schemas"]["PublicRoleAssignment"];
20663
20741
  };
20664
20742
  };
20743
+ /** @description Forbidden */
20744
+ 403: {
20745
+ headers: {
20746
+ [name: string]: unknown;
20747
+ };
20748
+ content: {
20749
+ /** @example {
20750
+ * "code": "ERROR_ONLY_OWNER_CAN_MANAGE_ADMIN_ROLE",
20751
+ * "detail": "Additional error context.",
20752
+ * "status": 403,
20753
+ * "title": "User Management Error",
20754
+ * "type": "only-owner-can-manage-admin-role"
20755
+ * } */
20756
+ "application/problem+json": components["schemas"]["Problem"];
20757
+ };
20758
+ };
20665
20759
  /** @description Validation Error */
20666
20760
  422: {
20667
20761
  headers: {