@opusdns/api 1.14.0 → 1.16.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/src/schema.d.ts CHANGED
@@ -1903,6 +1903,78 @@ export interface paths {
1903
1903
  patch: operations["update_ip_restriction_v1_organizations_ip_restrictions__ip_restriction_id__patch"];
1904
1904
  trace?: never;
1905
1905
  };
1906
+ "/v1/organizations/role-permissions": {
1907
+ parameters: {
1908
+ query?: never;
1909
+ header?: never;
1910
+ path?: never;
1911
+ cookie?: never;
1912
+ };
1913
+ /**
1914
+ * List grantable role permissions
1915
+ * @description Retrieves the catalog of `resource:scope` permissions a custom role may grant
1916
+ */
1917
+ get: operations["list_role_permissions_v1_organizations_role_permissions_get"];
1918
+ put?: never;
1919
+ post?: never;
1920
+ delete?: never;
1921
+ options?: never;
1922
+ head?: never;
1923
+ patch?: never;
1924
+ trace?: never;
1925
+ };
1926
+ "/v1/organizations/roles": {
1927
+ parameters: {
1928
+ query?: never;
1929
+ header?: never;
1930
+ path?: never;
1931
+ cookie?: never;
1932
+ };
1933
+ /**
1934
+ * List roles
1935
+ * @description Retrieves all roles assignable in the current organization: the built-in roles plus the organization's custom roles
1936
+ */
1937
+ get: operations["list_roles_v1_organizations_roles_get"];
1938
+ put?: never;
1939
+ /**
1940
+ * Create a custom role
1941
+ * @description Creates an organization-owned custom role granting the requested permissions. The escalation-bearing admin/owner permissions cannot be granted.
1942
+ */
1943
+ post: operations["create_role_v1_organizations_roles_post"];
1944
+ delete?: never;
1945
+ options?: never;
1946
+ head?: never;
1947
+ patch?: never;
1948
+ trace?: never;
1949
+ };
1950
+ "/v1/organizations/roles/{label}": {
1951
+ parameters: {
1952
+ query?: never;
1953
+ header?: never;
1954
+ path?: never;
1955
+ cookie?: never;
1956
+ };
1957
+ /**
1958
+ * Get a role
1959
+ * @description Retrieves a single role (built-in or custom) by its name
1960
+ */
1961
+ get: operations["get_role_v1_organizations_roles__label__get"];
1962
+ put?: never;
1963
+ post?: never;
1964
+ /**
1965
+ * Delete a custom role
1966
+ * @description Deletes a custom role. Refused while the role is still assigned to any subject, and for built-in roles.
1967
+ */
1968
+ delete: operations["delete_role_v1_organizations_roles__label__delete"];
1969
+ options?: never;
1970
+ head?: never;
1971
+ /**
1972
+ * Update a custom role
1973
+ * @description Updates a custom role's name, description and/or permission set. Permission changes apply to every subject holding the role instantly. Built-in roles are immutable.
1974
+ */
1975
+ patch: operations["update_role_v1_organizations_roles__label__patch"];
1976
+ trace?: never;
1977
+ };
1906
1978
  "/v1/organizations/users": {
1907
1979
  parameters: {
1908
1980
  query?: never;
@@ -3994,6 +4066,49 @@ export interface components {
3994
4066
  * @enum {string}
3995
4067
  */
3996
4068
  Currency: "USD" | "EUR";
4069
+ /**
4070
+ * CustomRoleCreate
4071
+ * @description Request body for creating a custom role.
4072
+ */
4073
+ CustomRoleCreate: {
4074
+ /**
4075
+ * Description
4076
+ * @description Description of the custom role.
4077
+ */
4078
+ description?: string | null;
4079
+ /**
4080
+ * Name
4081
+ * @description Display name of the custom role as provided by the user (e.g. 'Support Staff').
4082
+ */
4083
+ name: string;
4084
+ /**
4085
+ * Permissions
4086
+ * @description Permissions the role grants, as `resource:scope` (e.g. `domains:read`). The escalation-bearing admin/owner permissions cannot be granted.
4087
+ */
4088
+ permissions: components["schemas"]["PublicPermission"][];
4089
+ };
4090
+ /**
4091
+ * CustomRoleUpdate
4092
+ * @description Request body for updating a custom role. Omitted fields are left unchanged; `permissions`
4093
+ * is a full replacement set when provided.
4094
+ */
4095
+ CustomRoleUpdate: {
4096
+ /**
4097
+ * Description
4098
+ * @description New description.
4099
+ */
4100
+ description?: string | null;
4101
+ /**
4102
+ * Name
4103
+ * @description New display name.
4104
+ */
4105
+ name?: string | null;
4106
+ /**
4107
+ * Permissions
4108
+ * @description Full replacement set of `resource:scope` permissions the role grants.
4109
+ */
4110
+ permissions?: components["schemas"]["PublicPermission"][] | null;
4111
+ };
3997
4112
  /**
3998
4113
  * DeletePolicyType
3999
4114
  * @enum {string}
@@ -9070,7 +9185,7 @@ export interface components {
9070
9185
  * PublicResource
9071
9186
  * @enum {string}
9072
9187
  */
9073
- PublicResource: "domains" | "contacts" | "dns" | "hosts" | "email_forwards" | "domain_forwards" | "parking" | "events" | "jobs" | "billing" | "users" | "api_keys" | "registrar_credentials" | "tags" | "audit_logs" | "vanity_ns";
9188
+ PublicResource: "organization" | "domains" | "contacts" | "dns" | "hosts" | "email_forwards" | "domain_forwards" | "parking" | "events" | "jobs" | "billing" | "users" | "api_keys" | "registrar_credentials" | "tags" | "audit_logs" | "vanity_ns";
9074
9189
  /**
9075
9190
  * PublicRole
9076
9191
  * @enum {string}
@@ -9084,6 +9199,47 @@ export interface components {
9084
9199
  PublicRoleAssignmentRequest: {
9085
9200
  role?: components["schemas"]["AssignablePublicRole"] | null;
9086
9201
  };
9202
+ /**
9203
+ * PublicRoleDefinition
9204
+ * @description A role as listed/read through the public API — built-in or custom.
9205
+ */
9206
+ PublicRoleDefinition: {
9207
+ /**
9208
+ * Built In
9209
+ * @description Built-in roles are immutable; custom roles are organization-owned.
9210
+ */
9211
+ built_in: boolean;
9212
+ /**
9213
+ * Created On
9214
+ * @description Creation time (custom roles only).
9215
+ */
9216
+ created_on?: Date | null;
9217
+ /**
9218
+ * Description
9219
+ * @description Description of the role.
9220
+ */
9221
+ description?: string | null;
9222
+ /**
9223
+ * Label
9224
+ * @description Per-organization unique identifier (snake_case, e.g. 'support_staff'). Used as the URL path parameter.
9225
+ */
9226
+ label: string;
9227
+ /**
9228
+ * Name
9229
+ * @description Display name of the role (e.g. 'Support Staff').
9230
+ */
9231
+ name: string;
9232
+ /**
9233
+ * Permissions
9234
+ * @description Permissions the role grants, as `resource:scope` strings.
9235
+ */
9236
+ permissions: components["schemas"]["PublicPermission"][];
9237
+ /**
9238
+ * Updated On
9239
+ * @description Last update time (custom roles only).
9240
+ */
9241
+ updated_on?: Date | null;
9242
+ };
9087
9243
  /**
9088
9244
  * PublicScope
9089
9245
  * @enum {string}
@@ -19456,15 +19612,9 @@ export interface operations {
19456
19612
  };
19457
19613
  };
19458
19614
  };
19459
- list_users_v1_organizations_users_get: {
19615
+ list_role_permissions_v1_organizations_role_permissions_get: {
19460
19616
  parameters: {
19461
- query?: {
19462
- sort_by?: components["schemas"]["UserSortField"];
19463
- sort_order?: components["schemas"]["SortOrder"];
19464
- search?: string | null;
19465
- page?: number;
19466
- page_size?: number;
19467
- };
19617
+ query?: never;
19468
19618
  header?: never;
19469
19619
  path?: never;
19470
19620
  cookie?: never;
@@ -19477,7 +19627,7 @@ export interface operations {
19477
19627
  [name: string]: unknown;
19478
19628
  };
19479
19629
  content: {
19480
- "application/json": components["schemas"]["Pagination_UserPublicWithRole_"];
19630
+ "application/json": components["schemas"]["PublicPermissionSet"];
19481
19631
  };
19482
19632
  };
19483
19633
  /** @description Unauthorized */
@@ -19523,13 +19673,11 @@ export interface operations {
19523
19673
  };
19524
19674
  };
19525
19675
  };
19526
- get_organization_v1_organizations__organization_id__get: {
19676
+ list_roles_v1_organizations_roles_get: {
19527
19677
  parameters: {
19528
19678
  query?: never;
19529
19679
  header?: never;
19530
- path: {
19531
- organization_id: TypeId<"organization">;
19532
- };
19680
+ path?: never;
19533
19681
  cookie?: never;
19534
19682
  };
19535
19683
  requestBody?: never;
@@ -19540,7 +19688,7 @@ export interface operations {
19540
19688
  [name: string]: unknown;
19541
19689
  };
19542
19690
  content: {
19543
- "application/json": components["schemas"]["OrganizationWithBillingData"];
19691
+ "application/json": components["schemas"]["PublicRoleDefinition"][];
19544
19692
  };
19545
19693
  };
19546
19694
  /** @description Unauthorized */
@@ -19586,23 +19734,27 @@ export interface operations {
19586
19734
  };
19587
19735
  };
19588
19736
  };
19589
- delete_organization_v1_organizations__organization_id__delete: {
19737
+ create_role_v1_organizations_roles_post: {
19590
19738
  parameters: {
19591
19739
  query?: never;
19592
19740
  header?: never;
19593
- path: {
19594
- organization_id: TypeId<"organization">;
19595
- };
19741
+ path?: never;
19596
19742
  cookie?: never;
19597
19743
  };
19598
- requestBody?: never;
19744
+ requestBody: {
19745
+ content: {
19746
+ "application/json": components["schemas"]["CustomRoleCreate"];
19747
+ };
19748
+ };
19599
19749
  responses: {
19600
19750
  /** @description Successful Response */
19601
- 204: {
19751
+ 201: {
19602
19752
  headers: {
19603
19753
  [name: string]: unknown;
19604
19754
  };
19605
- content?: never;
19755
+ content: {
19756
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19757
+ };
19606
19758
  };
19607
19759
  /** @description Unauthorized */
19608
19760
  401: {
@@ -19636,6 +19788,22 @@ export interface operations {
19636
19788
  "application/problem+json": components["schemas"]["Problem"];
19637
19789
  };
19638
19790
  };
19791
+ /** @description Conflict */
19792
+ 409: {
19793
+ headers: {
19794
+ [name: string]: unknown;
19795
+ };
19796
+ content: {
19797
+ /** @example {
19798
+ * "code": "ERROR_DUPLICATE_ROLE_NAME",
19799
+ * "detail": "A role named 'support' already exists in this organization",
19800
+ * "status": 409,
19801
+ * "title": "Role Management Error",
19802
+ * "type": "duplicate-role-name"
19803
+ * } */
19804
+ "application/problem+json": components["schemas"]["Problem"];
19805
+ };
19806
+ };
19639
19807
  /** @description Validation Error */
19640
19808
  422: {
19641
19809
  headers: {
@@ -19647,20 +19815,16 @@ export interface operations {
19647
19815
  };
19648
19816
  };
19649
19817
  };
19650
- update_organization_v1_organizations__organization_id__patch: {
19818
+ get_role_v1_organizations_roles__label__get: {
19651
19819
  parameters: {
19652
19820
  query?: never;
19653
19821
  header?: never;
19654
19822
  path: {
19655
- organization_id: TypeId<"organization">;
19823
+ label: string;
19656
19824
  };
19657
19825
  cookie?: never;
19658
19826
  };
19659
- requestBody: {
19660
- content: {
19661
- "application/json": components["schemas"]["OrganizationUpdate"];
19662
- };
19663
- };
19827
+ requestBody?: never;
19664
19828
  responses: {
19665
19829
  /** @description Successful Response */
19666
19830
  200: {
@@ -19668,7 +19832,7 @@ export interface operations {
19668
19832
  [name: string]: unknown;
19669
19833
  };
19670
19834
  content: {
19671
- "application/json": components["schemas"]["Organization"];
19835
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19672
19836
  };
19673
19837
  };
19674
19838
  /** @description Unauthorized */
@@ -19703,6 +19867,23 @@ export interface operations {
19703
19867
  "application/problem+json": components["schemas"]["Problem"];
19704
19868
  };
19705
19869
  };
19870
+ /** @description Not Found */
19871
+ 404: {
19872
+ headers: {
19873
+ [name: string]: unknown;
19874
+ };
19875
+ content: {
19876
+ /** @example {
19877
+ * "code": "ERROR_ROLE_NOT_FOUND",
19878
+ * "detail": "Role not found",
19879
+ * "role_name": "support",
19880
+ * "status": 404,
19881
+ * "title": "Role Management Error",
19882
+ * "type": "role-not-found"
19883
+ * } */
19884
+ "application/problem+json": components["schemas"]["Problem"];
19885
+ };
19886
+ };
19706
19887
  /** @description Validation Error */
19707
19888
  422: {
19708
19889
  headers: {
@@ -19714,28 +19895,23 @@ export interface operations {
19714
19895
  };
19715
19896
  };
19716
19897
  };
19717
- get_organization_attributes_v1_organizations__organization_id__attributes_get: {
19898
+ delete_role_v1_organizations_roles__label__delete: {
19718
19899
  parameters: {
19719
- query?: {
19720
- /** @description Optional list of attribute keys to filter */
19721
- keys?: string[] | null;
19722
- };
19900
+ query?: never;
19723
19901
  header?: never;
19724
19902
  path: {
19725
- organization_id: TypeId<"organization">;
19903
+ label: string;
19726
19904
  };
19727
19905
  cookie?: never;
19728
19906
  };
19729
19907
  requestBody?: never;
19730
19908
  responses: {
19731
19909
  /** @description Successful Response */
19732
- 200: {
19910
+ 204: {
19733
19911
  headers: {
19734
19912
  [name: string]: unknown;
19735
19913
  };
19736
- content: {
19737
- "application/json": components["schemas"]["OrganizationAttributeResponse"][];
19738
- };
19914
+ content?: never;
19739
19915
  };
19740
19916
  /** @description Unauthorized */
19741
19917
  401: {
@@ -19769,6 +19945,41 @@ export interface operations {
19769
19945
  "application/problem+json": components["schemas"]["Problem"];
19770
19946
  };
19771
19947
  };
19948
+ /** @description Not Found */
19949
+ 404: {
19950
+ headers: {
19951
+ [name: string]: unknown;
19952
+ };
19953
+ content: {
19954
+ /** @example {
19955
+ * "code": "ERROR_ROLE_NOT_FOUND",
19956
+ * "detail": "Role not found",
19957
+ * "role_name": "support",
19958
+ * "status": 404,
19959
+ * "title": "Role Management Error",
19960
+ * "type": "role-not-found"
19961
+ * } */
19962
+ "application/problem+json": components["schemas"]["Problem"];
19963
+ };
19964
+ };
19965
+ /** @description Conflict */
19966
+ 409: {
19967
+ headers: {
19968
+ [name: string]: unknown;
19969
+ };
19970
+ content: {
19971
+ /** @example {
19972
+ * "binding_count": 1,
19973
+ * "code": "ERROR_ROLE_IN_USE",
19974
+ * "detail": "Role is still assigned to one or more subjects and cannot be deleted",
19975
+ * "role_name": "support",
19976
+ * "status": 409,
19977
+ * "title": "Role Management Error",
19978
+ * "type": "role-in-use"
19979
+ * } */
19980
+ "application/problem+json": components["schemas"]["Problem"];
19981
+ };
19982
+ };
19772
19983
  /** @description Validation Error */
19773
19984
  422: {
19774
19985
  headers: {
@@ -19780,18 +19991,18 @@ export interface operations {
19780
19991
  };
19781
19992
  };
19782
19993
  };
19783
- update_organization_attributes_v1_organizations__organization_id__attributes_patch: {
19994
+ update_role_v1_organizations_roles__label__patch: {
19784
19995
  parameters: {
19785
19996
  query?: never;
19786
19997
  header?: never;
19787
19998
  path: {
19788
- organization_id: TypeId<"organization">;
19999
+ label: string;
19789
20000
  };
19790
20001
  cookie?: never;
19791
20002
  };
19792
20003
  requestBody: {
19793
20004
  content: {
19794
- "application/json": components["schemas"]["OrganizationAttributeUpdate"][];
20005
+ "application/json": components["schemas"]["CustomRoleUpdate"];
19795
20006
  };
19796
20007
  };
19797
20008
  responses: {
@@ -19801,7 +20012,7 @@ export interface operations {
19801
20012
  [name: string]: unknown;
19802
20013
  };
19803
20014
  content: {
19804
- "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20015
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19805
20016
  };
19806
20017
  };
19807
20018
  /** @description Unauthorized */
@@ -19836,6 +20047,40 @@ export interface operations {
19836
20047
  "application/problem+json": components["schemas"]["Problem"];
19837
20048
  };
19838
20049
  };
20050
+ /** @description Not Found */
20051
+ 404: {
20052
+ headers: {
20053
+ [name: string]: unknown;
20054
+ };
20055
+ content: {
20056
+ /** @example {
20057
+ * "code": "ERROR_ROLE_NOT_FOUND",
20058
+ * "detail": "Role not found",
20059
+ * "role_name": "support",
20060
+ * "status": 404,
20061
+ * "title": "Role Management Error",
20062
+ * "type": "role-not-found"
20063
+ * } */
20064
+ "application/problem+json": components["schemas"]["Problem"];
20065
+ };
20066
+ };
20067
+ /** @description Conflict */
20068
+ 409: {
20069
+ headers: {
20070
+ [name: string]: unknown;
20071
+ };
20072
+ content: {
20073
+ /** @example {
20074
+ * "code": "ERROR_BUILT_IN_ROLE_IMMUTABLE",
20075
+ * "detail": "Built-in roles cannot be modified or deleted",
20076
+ * "role_name": "viewer",
20077
+ * "status": 409,
20078
+ * "title": "Role Management Error",
20079
+ * "type": "built-in-role-immutable"
20080
+ * } */
20081
+ "application/problem+json": components["schemas"]["Problem"];
20082
+ };
20083
+ };
19839
20084
  /** @description Validation Error */
19840
20085
  422: {
19841
20086
  headers: {
@@ -19847,16 +20092,17 @@ export interface operations {
19847
20092
  };
19848
20093
  };
19849
20094
  };
19850
- list_invoices_v1_organizations__organization_id__billing_invoices_get: {
20095
+ list_users_v1_organizations_users_get: {
19851
20096
  parameters: {
19852
20097
  query?: {
20098
+ sort_by?: components["schemas"]["UserSortField"];
20099
+ sort_order?: components["schemas"]["SortOrder"];
20100
+ search?: string | null;
19853
20101
  page?: number;
19854
20102
  page_size?: number;
19855
20103
  };
19856
20104
  header?: never;
19857
- path: {
19858
- organization_id: TypeId<"organization">;
19859
- };
20105
+ path?: never;
19860
20106
  cookie?: never;
19861
20107
  };
19862
20108
  requestBody?: never;
@@ -19867,23 +20113,413 @@ export interface operations {
19867
20113
  [name: string]: unknown;
19868
20114
  };
19869
20115
  content: {
19870
- "application/json": components["schemas"]["Pagination_InvoiceResponse_"];
20116
+ "application/json": components["schemas"]["Pagination_UserPublicWithRole_"];
19871
20117
  };
19872
20118
  };
19873
- /** @description Validation Error */
19874
- 422: {
20119
+ /** @description Unauthorized */
20120
+ 401: {
19875
20121
  headers: {
19876
20122
  [name: string]: unknown;
19877
20123
  };
19878
20124
  content: {
19879
- "application/problem+json": components["schemas"]["HTTPValidationError"];
19880
- };
19881
- };
19882
- };
19883
- };
19884
- get_pricing_plans_v1_organizations__organization_id__pricing_product_type__product_type__get: {
19885
- parameters: {
19886
- query?: {
20125
+ /** @example {
20126
+ * "code": "ERROR_AUTHENTICATION",
20127
+ * "detail": "Additional error context.",
20128
+ * "status": 401,
20129
+ * "title": "Authentication Error",
20130
+ * "type": "authentication"
20131
+ * } */
20132
+ "application/problem+json": components["schemas"]["Problem"];
20133
+ };
20134
+ };
20135
+ /** @description Forbidden */
20136
+ 403: {
20137
+ headers: {
20138
+ [name: string]: unknown;
20139
+ };
20140
+ content: {
20141
+ /** @example {
20142
+ * "code": "ERROR_PERMISSION_DENIED",
20143
+ * "detail": "Insufficient permissions to perform this action",
20144
+ * "status": 403,
20145
+ * "title": "Permission Denied",
20146
+ * "type": "permission-denied"
20147
+ * } */
20148
+ "application/problem+json": components["schemas"]["Problem"];
20149
+ };
20150
+ };
20151
+ /** @description Validation Error */
20152
+ 422: {
20153
+ headers: {
20154
+ [name: string]: unknown;
20155
+ };
20156
+ content: {
20157
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20158
+ };
20159
+ };
20160
+ };
20161
+ };
20162
+ get_organization_v1_organizations__organization_id__get: {
20163
+ parameters: {
20164
+ query?: never;
20165
+ header?: never;
20166
+ path: {
20167
+ organization_id: TypeId<"organization">;
20168
+ };
20169
+ cookie?: never;
20170
+ };
20171
+ requestBody?: never;
20172
+ responses: {
20173
+ /** @description Successful Response */
20174
+ 200: {
20175
+ headers: {
20176
+ [name: string]: unknown;
20177
+ };
20178
+ content: {
20179
+ "application/json": components["schemas"]["OrganizationWithBillingData"];
20180
+ };
20181
+ };
20182
+ /** @description Unauthorized */
20183
+ 401: {
20184
+ headers: {
20185
+ [name: string]: unknown;
20186
+ };
20187
+ content: {
20188
+ /** @example {
20189
+ * "code": "ERROR_AUTHENTICATION",
20190
+ * "detail": "Additional error context.",
20191
+ * "status": 401,
20192
+ * "title": "Authentication Error",
20193
+ * "type": "authentication"
20194
+ * } */
20195
+ "application/problem+json": components["schemas"]["Problem"];
20196
+ };
20197
+ };
20198
+ /** @description Forbidden */
20199
+ 403: {
20200
+ headers: {
20201
+ [name: string]: unknown;
20202
+ };
20203
+ content: {
20204
+ /** @example {
20205
+ * "code": "ERROR_PERMISSION_DENIED",
20206
+ * "detail": "Insufficient permissions to perform this action",
20207
+ * "status": 403,
20208
+ * "title": "Permission Denied",
20209
+ * "type": "permission-denied"
20210
+ * } */
20211
+ "application/problem+json": components["schemas"]["Problem"];
20212
+ };
20213
+ };
20214
+ /** @description Validation Error */
20215
+ 422: {
20216
+ headers: {
20217
+ [name: string]: unknown;
20218
+ };
20219
+ content: {
20220
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20221
+ };
20222
+ };
20223
+ };
20224
+ };
20225
+ delete_organization_v1_organizations__organization_id__delete: {
20226
+ parameters: {
20227
+ query?: never;
20228
+ header?: never;
20229
+ path: {
20230
+ organization_id: TypeId<"organization">;
20231
+ };
20232
+ cookie?: never;
20233
+ };
20234
+ requestBody?: never;
20235
+ responses: {
20236
+ /** @description Successful Response */
20237
+ 204: {
20238
+ headers: {
20239
+ [name: string]: unknown;
20240
+ };
20241
+ content?: never;
20242
+ };
20243
+ /** @description Unauthorized */
20244
+ 401: {
20245
+ headers: {
20246
+ [name: string]: unknown;
20247
+ };
20248
+ content: {
20249
+ /** @example {
20250
+ * "code": "ERROR_AUTHENTICATION",
20251
+ * "detail": "Additional error context.",
20252
+ * "status": 401,
20253
+ * "title": "Authentication Error",
20254
+ * "type": "authentication"
20255
+ * } */
20256
+ "application/problem+json": components["schemas"]["Problem"];
20257
+ };
20258
+ };
20259
+ /** @description Forbidden */
20260
+ 403: {
20261
+ headers: {
20262
+ [name: string]: unknown;
20263
+ };
20264
+ content: {
20265
+ /** @example {
20266
+ * "code": "ERROR_PERMISSION_DENIED",
20267
+ * "detail": "Insufficient permissions to perform this action",
20268
+ * "status": 403,
20269
+ * "title": "Permission Denied",
20270
+ * "type": "permission-denied"
20271
+ * } */
20272
+ "application/problem+json": components["schemas"]["Problem"];
20273
+ };
20274
+ };
20275
+ /** @description Validation Error */
20276
+ 422: {
20277
+ headers: {
20278
+ [name: string]: unknown;
20279
+ };
20280
+ content: {
20281
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20282
+ };
20283
+ };
20284
+ };
20285
+ };
20286
+ update_organization_v1_organizations__organization_id__patch: {
20287
+ parameters: {
20288
+ query?: never;
20289
+ header?: never;
20290
+ path: {
20291
+ organization_id: TypeId<"organization">;
20292
+ };
20293
+ cookie?: never;
20294
+ };
20295
+ requestBody: {
20296
+ content: {
20297
+ "application/json": components["schemas"]["OrganizationUpdate"];
20298
+ };
20299
+ };
20300
+ responses: {
20301
+ /** @description Successful Response */
20302
+ 200: {
20303
+ headers: {
20304
+ [name: string]: unknown;
20305
+ };
20306
+ content: {
20307
+ "application/json": components["schemas"]["Organization"];
20308
+ };
20309
+ };
20310
+ /** @description Unauthorized */
20311
+ 401: {
20312
+ headers: {
20313
+ [name: string]: unknown;
20314
+ };
20315
+ content: {
20316
+ /** @example {
20317
+ * "code": "ERROR_AUTHENTICATION",
20318
+ * "detail": "Additional error context.",
20319
+ * "status": 401,
20320
+ * "title": "Authentication Error",
20321
+ * "type": "authentication"
20322
+ * } */
20323
+ "application/problem+json": components["schemas"]["Problem"];
20324
+ };
20325
+ };
20326
+ /** @description Forbidden */
20327
+ 403: {
20328
+ headers: {
20329
+ [name: string]: unknown;
20330
+ };
20331
+ content: {
20332
+ /** @example {
20333
+ * "code": "ERROR_PERMISSION_DENIED",
20334
+ * "detail": "Insufficient permissions to perform this action",
20335
+ * "status": 403,
20336
+ * "title": "Permission Denied",
20337
+ * "type": "permission-denied"
20338
+ * } */
20339
+ "application/problem+json": components["schemas"]["Problem"];
20340
+ };
20341
+ };
20342
+ /** @description Validation Error */
20343
+ 422: {
20344
+ headers: {
20345
+ [name: string]: unknown;
20346
+ };
20347
+ content: {
20348
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20349
+ };
20350
+ };
20351
+ };
20352
+ };
20353
+ get_organization_attributes_v1_organizations__organization_id__attributes_get: {
20354
+ parameters: {
20355
+ query?: {
20356
+ /** @description Optional list of attribute keys to filter */
20357
+ keys?: string[] | null;
20358
+ };
20359
+ header?: never;
20360
+ path: {
20361
+ organization_id: TypeId<"organization">;
20362
+ };
20363
+ cookie?: never;
20364
+ };
20365
+ requestBody?: never;
20366
+ responses: {
20367
+ /** @description Successful Response */
20368
+ 200: {
20369
+ headers: {
20370
+ [name: string]: unknown;
20371
+ };
20372
+ content: {
20373
+ "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20374
+ };
20375
+ };
20376
+ /** @description Unauthorized */
20377
+ 401: {
20378
+ headers: {
20379
+ [name: string]: unknown;
20380
+ };
20381
+ content: {
20382
+ /** @example {
20383
+ * "code": "ERROR_AUTHENTICATION",
20384
+ * "detail": "Additional error context.",
20385
+ * "status": 401,
20386
+ * "title": "Authentication Error",
20387
+ * "type": "authentication"
20388
+ * } */
20389
+ "application/problem+json": components["schemas"]["Problem"];
20390
+ };
20391
+ };
20392
+ /** @description Forbidden */
20393
+ 403: {
20394
+ headers: {
20395
+ [name: string]: unknown;
20396
+ };
20397
+ content: {
20398
+ /** @example {
20399
+ * "code": "ERROR_PERMISSION_DENIED",
20400
+ * "detail": "Insufficient permissions to perform this action",
20401
+ * "status": 403,
20402
+ * "title": "Permission Denied",
20403
+ * "type": "permission-denied"
20404
+ * } */
20405
+ "application/problem+json": components["schemas"]["Problem"];
20406
+ };
20407
+ };
20408
+ /** @description Validation Error */
20409
+ 422: {
20410
+ headers: {
20411
+ [name: string]: unknown;
20412
+ };
20413
+ content: {
20414
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20415
+ };
20416
+ };
20417
+ };
20418
+ };
20419
+ update_organization_attributes_v1_organizations__organization_id__attributes_patch: {
20420
+ parameters: {
20421
+ query?: never;
20422
+ header?: never;
20423
+ path: {
20424
+ organization_id: TypeId<"organization">;
20425
+ };
20426
+ cookie?: never;
20427
+ };
20428
+ requestBody: {
20429
+ content: {
20430
+ "application/json": components["schemas"]["OrganizationAttributeUpdate"][];
20431
+ };
20432
+ };
20433
+ responses: {
20434
+ /** @description Successful Response */
20435
+ 200: {
20436
+ headers: {
20437
+ [name: string]: unknown;
20438
+ };
20439
+ content: {
20440
+ "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20441
+ };
20442
+ };
20443
+ /** @description Unauthorized */
20444
+ 401: {
20445
+ headers: {
20446
+ [name: string]: unknown;
20447
+ };
20448
+ content: {
20449
+ /** @example {
20450
+ * "code": "ERROR_AUTHENTICATION",
20451
+ * "detail": "Additional error context.",
20452
+ * "status": 401,
20453
+ * "title": "Authentication Error",
20454
+ * "type": "authentication"
20455
+ * } */
20456
+ "application/problem+json": components["schemas"]["Problem"];
20457
+ };
20458
+ };
20459
+ /** @description Forbidden */
20460
+ 403: {
20461
+ headers: {
20462
+ [name: string]: unknown;
20463
+ };
20464
+ content: {
20465
+ /** @example {
20466
+ * "code": "ERROR_PERMISSION_DENIED",
20467
+ * "detail": "Insufficient permissions to perform this action",
20468
+ * "status": 403,
20469
+ * "title": "Permission Denied",
20470
+ * "type": "permission-denied"
20471
+ * } */
20472
+ "application/problem+json": components["schemas"]["Problem"];
20473
+ };
20474
+ };
20475
+ /** @description Validation Error */
20476
+ 422: {
20477
+ headers: {
20478
+ [name: string]: unknown;
20479
+ };
20480
+ content: {
20481
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20482
+ };
20483
+ };
20484
+ };
20485
+ };
20486
+ list_invoices_v1_organizations__organization_id__billing_invoices_get: {
20487
+ parameters: {
20488
+ query?: {
20489
+ page?: number;
20490
+ page_size?: number;
20491
+ };
20492
+ header?: never;
20493
+ path: {
20494
+ organization_id: TypeId<"organization">;
20495
+ };
20496
+ cookie?: never;
20497
+ };
20498
+ requestBody?: never;
20499
+ responses: {
20500
+ /** @description Successful Response */
20501
+ 200: {
20502
+ headers: {
20503
+ [name: string]: unknown;
20504
+ };
20505
+ content: {
20506
+ "application/json": components["schemas"]["Pagination_InvoiceResponse_"];
20507
+ };
20508
+ };
20509
+ /** @description Validation Error */
20510
+ 422: {
20511
+ headers: {
20512
+ [name: string]: unknown;
20513
+ };
20514
+ content: {
20515
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20516
+ };
20517
+ };
20518
+ };
20519
+ };
20520
+ get_pricing_plans_v1_organizations__organization_id__pricing_product_type__product_type__get: {
20521
+ parameters: {
20522
+ query?: {
19887
20523
  product_action?: components["schemas"]["BillingTransactionAction"] | null;
19888
20524
  product_class?: string | null;
19889
20525
  };
@@ -21322,29 +21958,6 @@ export interface operations {
21322
21958
  [name: string]: unknown;
21323
21959
  };
21324
21960
  content: {
21325
- /** @example {
21326
- * "code": "ERROR_USER_CANNOT_DELETE_SELF",
21327
- * "detail": "Additional error context.",
21328
- * "status": 403,
21329
- * "title": "User Management Error",
21330
- * "type": "user-cannot-delete-self"
21331
- * } */
21332
- "application/problem+json": components["schemas"]["Problem"];
21333
- };
21334
- };
21335
- /** @description Conflict */
21336
- 409: {
21337
- headers: {
21338
- [name: string]: unknown;
21339
- };
21340
- content: {
21341
- /** @example {
21342
- * "code": "ERROR_USER_IS_LAST_ADMIN",
21343
- * "detail": "User is the last admin for the organization",
21344
- * "status": 409,
21345
- * "title": "User Management Error",
21346
- * "type": "user-is-last-admin"
21347
- * } */
21348
21961
  "application/problem+json": components["schemas"]["Problem"];
21349
21962
  };
21350
21963
  };