@opusdns/api 1.15.0 → 1.17.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;
@@ -2478,7 +2550,7 @@ export interface paths {
2478
2550
  get: operations["get_role_v1_users__user_id__role_get"];
2479
2551
  /**
2480
2552
  * Set user role
2481
- * @description Set the role for a user, replacing any existing role
2553
+ * @description Set the role for a user, replacing any existing role. Accepts a built-in role name or the label of a custom role owned by the user's organization
2482
2554
  */
2483
2555
  put: operations["set_user_role_v1_users__user_id__role_put"];
2484
2556
  post?: never;
@@ -3994,6 +4066,50 @@ 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
+ CustomRoleLabel: string;
4091
+ /**
4092
+ * CustomRoleUpdate
4093
+ * @description Request body for updating a custom role. Omitted fields are left unchanged; `permissions`
4094
+ * is a full replacement set when provided.
4095
+ */
4096
+ CustomRoleUpdate: {
4097
+ /**
4098
+ * Description
4099
+ * @description New description.
4100
+ */
4101
+ description?: string | null;
4102
+ /**
4103
+ * Name
4104
+ * @description New display name.
4105
+ */
4106
+ name?: string | null;
4107
+ /**
4108
+ * Permissions
4109
+ * @description Full replacement set of `resource:scope` permissions the role grants.
4110
+ */
4111
+ permissions?: components["schemas"]["PublicPermission"][] | null;
4112
+ };
3997
4113
  /**
3998
4114
  * DeletePolicyType
3999
4115
  * @enum {string}
@@ -9070,7 +9186,7 @@ export interface components {
9070
9186
  * PublicResource
9071
9187
  * @enum {string}
9072
9188
  */
9073
- PublicResource: "domains" | "contacts" | "dns" | "hosts" | "email_forwards" | "domain_forwards" | "parking" | "events" | "jobs" | "billing" | "users" | "api_keys" | "registrar_credentials" | "tags" | "audit_logs" | "vanity_ns";
9189
+ 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
9190
  /**
9075
9191
  * PublicRole
9076
9192
  * @enum {string}
@@ -9078,11 +9194,51 @@ export interface components {
9078
9194
  PublicRole: "owner" | "admin" | "viewer" | "domain_manager" | "dns_manager" | "billing_manager";
9079
9195
  /** PublicRoleAssignment */
9080
9196
  PublicRoleAssignment: {
9081
- role?: components["schemas"]["PublicRole"] | null;
9197
+ /** Role */
9198
+ role?: components["schemas"]["PublicRole"] | components["schemas"]["CustomRoleLabel"] | null;
9082
9199
  };
9083
9200
  /** PublicRoleAssignmentRequest */
9084
9201
  PublicRoleAssignmentRequest: {
9085
- role?: components["schemas"]["AssignablePublicRole"] | null;
9202
+ /** Role */
9203
+ role?: components["schemas"]["AssignablePublicRole"] | components["schemas"]["CustomRoleLabel"] | null;
9204
+ };
9205
+ /**
9206
+ * PublicRoleDefinition
9207
+ * @description A role as listed/read through the public API — built-in or custom.
9208
+ */
9209
+ PublicRoleDefinition: {
9210
+ /**
9211
+ * Built In
9212
+ * @description Built-in roles are immutable; custom roles are organization-owned.
9213
+ */
9214
+ built_in: boolean;
9215
+ /**
9216
+ * Created On
9217
+ * @description Creation time (custom roles only).
9218
+ */
9219
+ created_on?: Date | null;
9220
+ /**
9221
+ * Description
9222
+ * @description Description of the role.
9223
+ */
9224
+ description?: string | null;
9225
+ /** @description Per-organization unique identifier (snake_case, e.g. 'support_staff'). Used as the URL path parameter. */
9226
+ label: components["schemas"]["CustomRoleLabel"];
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;
9086
9242
  };
9087
9243
  /**
9088
9244
  * PublicScope
@@ -10194,7 +10350,8 @@ export interface components {
10194
10350
  * @example +1.2125552368
10195
10351
  */
10196
10352
  phone?: string | null;
10197
- role?: components["schemas"]["PublicRole"] | null;
10353
+ /** Role */
10354
+ role?: components["schemas"]["PublicRole"] | components["schemas"]["CustomRoleLabel"] | null;
10198
10355
  readonly status: components["schemas"]["UserStatus"];
10199
10356
  /**
10200
10357
  * Updated On
@@ -10341,7 +10498,8 @@ export interface components {
10341
10498
  * @example +1.2125552368
10342
10499
  */
10343
10500
  phone?: string | null;
10344
- role?: components["schemas"]["PublicRole"] | null;
10501
+ /** Role */
10502
+ role?: components["schemas"]["PublicRole"] | components["schemas"]["CustomRoleLabel"] | null;
10345
10503
  readonly status: components["schemas"]["UserStatus"];
10346
10504
  /**
10347
10505
  * Updated On
@@ -19456,15 +19614,9 @@ export interface operations {
19456
19614
  };
19457
19615
  };
19458
19616
  };
19459
- list_users_v1_organizations_users_get: {
19617
+ list_role_permissions_v1_organizations_role_permissions_get: {
19460
19618
  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
- };
19619
+ query?: never;
19468
19620
  header?: never;
19469
19621
  path?: never;
19470
19622
  cookie?: never;
@@ -19477,7 +19629,7 @@ export interface operations {
19477
19629
  [name: string]: unknown;
19478
19630
  };
19479
19631
  content: {
19480
- "application/json": components["schemas"]["Pagination_UserPublicWithRole_"];
19632
+ "application/json": components["schemas"]["PublicPermissionSet"];
19481
19633
  };
19482
19634
  };
19483
19635
  /** @description Unauthorized */
@@ -19523,13 +19675,11 @@ export interface operations {
19523
19675
  };
19524
19676
  };
19525
19677
  };
19526
- get_organization_v1_organizations__organization_id__get: {
19678
+ list_roles_v1_organizations_roles_get: {
19527
19679
  parameters: {
19528
19680
  query?: never;
19529
19681
  header?: never;
19530
- path: {
19531
- organization_id: TypeId<"organization">;
19532
- };
19682
+ path?: never;
19533
19683
  cookie?: never;
19534
19684
  };
19535
19685
  requestBody?: never;
@@ -19540,7 +19690,7 @@ export interface operations {
19540
19690
  [name: string]: unknown;
19541
19691
  };
19542
19692
  content: {
19543
- "application/json": components["schemas"]["OrganizationWithBillingData"];
19693
+ "application/json": components["schemas"]["PublicRoleDefinition"][];
19544
19694
  };
19545
19695
  };
19546
19696
  /** @description Unauthorized */
@@ -19586,23 +19736,27 @@ export interface operations {
19586
19736
  };
19587
19737
  };
19588
19738
  };
19589
- delete_organization_v1_organizations__organization_id__delete: {
19739
+ create_role_v1_organizations_roles_post: {
19590
19740
  parameters: {
19591
19741
  query?: never;
19592
19742
  header?: never;
19593
- path: {
19594
- organization_id: TypeId<"organization">;
19595
- };
19743
+ path?: never;
19596
19744
  cookie?: never;
19597
19745
  };
19598
- requestBody?: never;
19746
+ requestBody: {
19747
+ content: {
19748
+ "application/json": components["schemas"]["CustomRoleCreate"];
19749
+ };
19750
+ };
19599
19751
  responses: {
19600
19752
  /** @description Successful Response */
19601
- 204: {
19753
+ 201: {
19602
19754
  headers: {
19603
19755
  [name: string]: unknown;
19604
19756
  };
19605
- content?: never;
19757
+ content: {
19758
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19759
+ };
19606
19760
  };
19607
19761
  /** @description Unauthorized */
19608
19762
  401: {
@@ -19636,6 +19790,22 @@ export interface operations {
19636
19790
  "application/problem+json": components["schemas"]["Problem"];
19637
19791
  };
19638
19792
  };
19793
+ /** @description Conflict */
19794
+ 409: {
19795
+ headers: {
19796
+ [name: string]: unknown;
19797
+ };
19798
+ content: {
19799
+ /** @example {
19800
+ * "code": "ERROR_DUPLICATE_ROLE_NAME",
19801
+ * "detail": "A role named 'support' already exists in this organization",
19802
+ * "status": 409,
19803
+ * "title": "Role Management Error",
19804
+ * "type": "duplicate-role-name"
19805
+ * } */
19806
+ "application/problem+json": components["schemas"]["Problem"];
19807
+ };
19808
+ };
19639
19809
  /** @description Validation Error */
19640
19810
  422: {
19641
19811
  headers: {
@@ -19647,20 +19817,16 @@ export interface operations {
19647
19817
  };
19648
19818
  };
19649
19819
  };
19650
- update_organization_v1_organizations__organization_id__patch: {
19820
+ get_role_v1_organizations_roles__label__get: {
19651
19821
  parameters: {
19652
19822
  query?: never;
19653
19823
  header?: never;
19654
19824
  path: {
19655
- organization_id: TypeId<"organization">;
19825
+ label: string;
19656
19826
  };
19657
19827
  cookie?: never;
19658
19828
  };
19659
- requestBody: {
19660
- content: {
19661
- "application/json": components["schemas"]["OrganizationUpdate"];
19662
- };
19663
- };
19829
+ requestBody?: never;
19664
19830
  responses: {
19665
19831
  /** @description Successful Response */
19666
19832
  200: {
@@ -19668,7 +19834,7 @@ export interface operations {
19668
19834
  [name: string]: unknown;
19669
19835
  };
19670
19836
  content: {
19671
- "application/json": components["schemas"]["Organization"];
19837
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19672
19838
  };
19673
19839
  };
19674
19840
  /** @description Unauthorized */
@@ -19703,6 +19869,23 @@ export interface operations {
19703
19869
  "application/problem+json": components["schemas"]["Problem"];
19704
19870
  };
19705
19871
  };
19872
+ /** @description Not Found */
19873
+ 404: {
19874
+ headers: {
19875
+ [name: string]: unknown;
19876
+ };
19877
+ content: {
19878
+ /** @example {
19879
+ * "code": "ERROR_ROLE_NOT_FOUND",
19880
+ * "detail": "Role not found",
19881
+ * "role_name": "support",
19882
+ * "status": 404,
19883
+ * "title": "Role Management Error",
19884
+ * "type": "role-not-found"
19885
+ * } */
19886
+ "application/problem+json": components["schemas"]["Problem"];
19887
+ };
19888
+ };
19706
19889
  /** @description Validation Error */
19707
19890
  422: {
19708
19891
  headers: {
@@ -19714,28 +19897,23 @@ export interface operations {
19714
19897
  };
19715
19898
  };
19716
19899
  };
19717
- get_organization_attributes_v1_organizations__organization_id__attributes_get: {
19900
+ delete_role_v1_organizations_roles__label__delete: {
19718
19901
  parameters: {
19719
- query?: {
19720
- /** @description Optional list of attribute keys to filter */
19721
- keys?: string[] | null;
19722
- };
19902
+ query?: never;
19723
19903
  header?: never;
19724
19904
  path: {
19725
- organization_id: TypeId<"organization">;
19905
+ label: string;
19726
19906
  };
19727
19907
  cookie?: never;
19728
19908
  };
19729
19909
  requestBody?: never;
19730
19910
  responses: {
19731
19911
  /** @description Successful Response */
19732
- 200: {
19912
+ 204: {
19733
19913
  headers: {
19734
19914
  [name: string]: unknown;
19735
19915
  };
19736
- content: {
19737
- "application/json": components["schemas"]["OrganizationAttributeResponse"][];
19738
- };
19916
+ content?: never;
19739
19917
  };
19740
19918
  /** @description Unauthorized */
19741
19919
  401: {
@@ -19769,6 +19947,41 @@ export interface operations {
19769
19947
  "application/problem+json": components["schemas"]["Problem"];
19770
19948
  };
19771
19949
  };
19950
+ /** @description Not Found */
19951
+ 404: {
19952
+ headers: {
19953
+ [name: string]: unknown;
19954
+ };
19955
+ content: {
19956
+ /** @example {
19957
+ * "code": "ERROR_ROLE_NOT_FOUND",
19958
+ * "detail": "Role not found",
19959
+ * "role_name": "support",
19960
+ * "status": 404,
19961
+ * "title": "Role Management Error",
19962
+ * "type": "role-not-found"
19963
+ * } */
19964
+ "application/problem+json": components["schemas"]["Problem"];
19965
+ };
19966
+ };
19967
+ /** @description Conflict */
19968
+ 409: {
19969
+ headers: {
19970
+ [name: string]: unknown;
19971
+ };
19972
+ content: {
19973
+ /** @example {
19974
+ * "binding_count": 1,
19975
+ * "code": "ERROR_ROLE_IN_USE",
19976
+ * "detail": "Role is still assigned to one or more subjects and cannot be deleted",
19977
+ * "role_name": "support",
19978
+ * "status": 409,
19979
+ * "title": "Role Management Error",
19980
+ * "type": "role-in-use"
19981
+ * } */
19982
+ "application/problem+json": components["schemas"]["Problem"];
19983
+ };
19984
+ };
19772
19985
  /** @description Validation Error */
19773
19986
  422: {
19774
19987
  headers: {
@@ -19780,18 +19993,18 @@ export interface operations {
19780
19993
  };
19781
19994
  };
19782
19995
  };
19783
- update_organization_attributes_v1_organizations__organization_id__attributes_patch: {
19996
+ update_role_v1_organizations_roles__label__patch: {
19784
19997
  parameters: {
19785
19998
  query?: never;
19786
19999
  header?: never;
19787
20000
  path: {
19788
- organization_id: TypeId<"organization">;
20001
+ label: string;
19789
20002
  };
19790
20003
  cookie?: never;
19791
20004
  };
19792
20005
  requestBody: {
19793
20006
  content: {
19794
- "application/json": components["schemas"]["OrganizationAttributeUpdate"][];
20007
+ "application/json": components["schemas"]["CustomRoleUpdate"];
19795
20008
  };
19796
20009
  };
19797
20010
  responses: {
@@ -19801,7 +20014,7 @@ export interface operations {
19801
20014
  [name: string]: unknown;
19802
20015
  };
19803
20016
  content: {
19804
- "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20017
+ "application/json": components["schemas"]["PublicRoleDefinition"];
19805
20018
  };
19806
20019
  };
19807
20020
  /** @description Unauthorized */
@@ -19836,38 +20049,38 @@ export interface operations {
19836
20049
  "application/problem+json": components["schemas"]["Problem"];
19837
20050
  };
19838
20051
  };
19839
- /** @description Validation Error */
19840
- 422: {
20052
+ /** @description Not Found */
20053
+ 404: {
19841
20054
  headers: {
19842
20055
  [name: string]: unknown;
19843
20056
  };
19844
20057
  content: {
19845
- "application/problem+json": components["schemas"]["HTTPValidationError"];
20058
+ /** @example {
20059
+ * "code": "ERROR_ROLE_NOT_FOUND",
20060
+ * "detail": "Role not found",
20061
+ * "role_name": "support",
20062
+ * "status": 404,
20063
+ * "title": "Role Management Error",
20064
+ * "type": "role-not-found"
20065
+ * } */
20066
+ "application/problem+json": components["schemas"]["Problem"];
19846
20067
  };
19847
20068
  };
19848
- };
19849
- };
19850
- list_invoices_v1_organizations__organization_id__billing_invoices_get: {
19851
- parameters: {
19852
- query?: {
19853
- page?: number;
19854
- page_size?: number;
19855
- };
19856
- header?: never;
19857
- path: {
19858
- organization_id: TypeId<"organization">;
19859
- };
19860
- cookie?: never;
19861
- };
19862
- requestBody?: never;
19863
- responses: {
19864
- /** @description Successful Response */
19865
- 200: {
20069
+ /** @description Conflict */
20070
+ 409: {
19866
20071
  headers: {
19867
20072
  [name: string]: unknown;
19868
20073
  };
19869
20074
  content: {
19870
- "application/json": components["schemas"]["Pagination_InvoiceResponse_"];
20075
+ /** @example {
20076
+ * "code": "ERROR_BUILT_IN_ROLE_IMMUTABLE",
20077
+ * "detail": "Built-in roles cannot be modified or deleted",
20078
+ * "role_name": "viewer",
20079
+ * "status": 409,
20080
+ * "title": "Role Management Error",
20081
+ * "type": "built-in-role-immutable"
20082
+ * } */
20083
+ "application/problem+json": components["schemas"]["Problem"];
19871
20084
  };
19872
20085
  };
19873
20086
  /** @description Validation Error */
@@ -19881,17 +20094,17 @@ export interface operations {
19881
20094
  };
19882
20095
  };
19883
20096
  };
19884
- get_pricing_plans_v1_organizations__organization_id__pricing_product_type__product_type__get: {
20097
+ list_users_v1_organizations_users_get: {
19885
20098
  parameters: {
19886
20099
  query?: {
19887
- product_action?: components["schemas"]["BillingTransactionAction"] | null;
19888
- product_class?: string | null;
20100
+ sort_by?: components["schemas"]["UserSortField"];
20101
+ sort_order?: components["schemas"]["SortOrder"];
20102
+ search?: string | null;
20103
+ page?: number;
20104
+ page_size?: number;
19889
20105
  };
19890
20106
  header?: never;
19891
- path: {
19892
- organization_id: TypeId<"organization">;
19893
- product_type: components["schemas"]["BillingTransactionProductType"];
19894
- };
20107
+ path?: never;
19895
20108
  cookie?: never;
19896
20109
  };
19897
20110
  requestBody?: never;
@@ -19902,7 +20115,7 @@ export interface operations {
19902
20115
  [name: string]: unknown;
19903
20116
  };
19904
20117
  content: {
19905
- "application/json": components["schemas"]["GetPricesResponse"];
20118
+ "application/json": components["schemas"]["Pagination_UserPublicWithRole_"];
19906
20119
  };
19907
20120
  };
19908
20121
  /** @description Unauthorized */
@@ -19948,7 +20161,432 @@ export interface operations {
19948
20161
  };
19949
20162
  };
19950
20163
  };
19951
- get_transactions_v1_organizations__organization_id__transactions_get: {
20164
+ get_organization_v1_organizations__organization_id__get: {
20165
+ parameters: {
20166
+ query?: never;
20167
+ header?: never;
20168
+ path: {
20169
+ organization_id: TypeId<"organization">;
20170
+ };
20171
+ cookie?: never;
20172
+ };
20173
+ requestBody?: never;
20174
+ responses: {
20175
+ /** @description Successful Response */
20176
+ 200: {
20177
+ headers: {
20178
+ [name: string]: unknown;
20179
+ };
20180
+ content: {
20181
+ "application/json": components["schemas"]["OrganizationWithBillingData"];
20182
+ };
20183
+ };
20184
+ /** @description Unauthorized */
20185
+ 401: {
20186
+ headers: {
20187
+ [name: string]: unknown;
20188
+ };
20189
+ content: {
20190
+ /** @example {
20191
+ * "code": "ERROR_AUTHENTICATION",
20192
+ * "detail": "Additional error context.",
20193
+ * "status": 401,
20194
+ * "title": "Authentication Error",
20195
+ * "type": "authentication"
20196
+ * } */
20197
+ "application/problem+json": components["schemas"]["Problem"];
20198
+ };
20199
+ };
20200
+ /** @description Forbidden */
20201
+ 403: {
20202
+ headers: {
20203
+ [name: string]: unknown;
20204
+ };
20205
+ content: {
20206
+ /** @example {
20207
+ * "code": "ERROR_PERMISSION_DENIED",
20208
+ * "detail": "Insufficient permissions to perform this action",
20209
+ * "status": 403,
20210
+ * "title": "Permission Denied",
20211
+ * "type": "permission-denied"
20212
+ * } */
20213
+ "application/problem+json": components["schemas"]["Problem"];
20214
+ };
20215
+ };
20216
+ /** @description Validation Error */
20217
+ 422: {
20218
+ headers: {
20219
+ [name: string]: unknown;
20220
+ };
20221
+ content: {
20222
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20223
+ };
20224
+ };
20225
+ };
20226
+ };
20227
+ delete_organization_v1_organizations__organization_id__delete: {
20228
+ parameters: {
20229
+ query?: never;
20230
+ header?: never;
20231
+ path: {
20232
+ organization_id: TypeId<"organization">;
20233
+ };
20234
+ cookie?: never;
20235
+ };
20236
+ requestBody?: never;
20237
+ responses: {
20238
+ /** @description Successful Response */
20239
+ 204: {
20240
+ headers: {
20241
+ [name: string]: unknown;
20242
+ };
20243
+ content?: never;
20244
+ };
20245
+ /** @description Unauthorized */
20246
+ 401: {
20247
+ headers: {
20248
+ [name: string]: unknown;
20249
+ };
20250
+ content: {
20251
+ /** @example {
20252
+ * "code": "ERROR_AUTHENTICATION",
20253
+ * "detail": "Additional error context.",
20254
+ * "status": 401,
20255
+ * "title": "Authentication Error",
20256
+ * "type": "authentication"
20257
+ * } */
20258
+ "application/problem+json": components["schemas"]["Problem"];
20259
+ };
20260
+ };
20261
+ /** @description Forbidden */
20262
+ 403: {
20263
+ headers: {
20264
+ [name: string]: unknown;
20265
+ };
20266
+ content: {
20267
+ /** @example {
20268
+ * "code": "ERROR_PERMISSION_DENIED",
20269
+ * "detail": "Insufficient permissions to perform this action",
20270
+ * "status": 403,
20271
+ * "title": "Permission Denied",
20272
+ * "type": "permission-denied"
20273
+ * } */
20274
+ "application/problem+json": components["schemas"]["Problem"];
20275
+ };
20276
+ };
20277
+ /** @description Validation Error */
20278
+ 422: {
20279
+ headers: {
20280
+ [name: string]: unknown;
20281
+ };
20282
+ content: {
20283
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20284
+ };
20285
+ };
20286
+ };
20287
+ };
20288
+ update_organization_v1_organizations__organization_id__patch: {
20289
+ parameters: {
20290
+ query?: never;
20291
+ header?: never;
20292
+ path: {
20293
+ organization_id: TypeId<"organization">;
20294
+ };
20295
+ cookie?: never;
20296
+ };
20297
+ requestBody: {
20298
+ content: {
20299
+ "application/json": components["schemas"]["OrganizationUpdate"];
20300
+ };
20301
+ };
20302
+ responses: {
20303
+ /** @description Successful Response */
20304
+ 200: {
20305
+ headers: {
20306
+ [name: string]: unknown;
20307
+ };
20308
+ content: {
20309
+ "application/json": components["schemas"]["Organization"];
20310
+ };
20311
+ };
20312
+ /** @description Unauthorized */
20313
+ 401: {
20314
+ headers: {
20315
+ [name: string]: unknown;
20316
+ };
20317
+ content: {
20318
+ /** @example {
20319
+ * "code": "ERROR_AUTHENTICATION",
20320
+ * "detail": "Additional error context.",
20321
+ * "status": 401,
20322
+ * "title": "Authentication Error",
20323
+ * "type": "authentication"
20324
+ * } */
20325
+ "application/problem+json": components["schemas"]["Problem"];
20326
+ };
20327
+ };
20328
+ /** @description Forbidden */
20329
+ 403: {
20330
+ headers: {
20331
+ [name: string]: unknown;
20332
+ };
20333
+ content: {
20334
+ /** @example {
20335
+ * "code": "ERROR_PERMISSION_DENIED",
20336
+ * "detail": "Insufficient permissions to perform this action",
20337
+ * "status": 403,
20338
+ * "title": "Permission Denied",
20339
+ * "type": "permission-denied"
20340
+ * } */
20341
+ "application/problem+json": components["schemas"]["Problem"];
20342
+ };
20343
+ };
20344
+ /** @description Validation Error */
20345
+ 422: {
20346
+ headers: {
20347
+ [name: string]: unknown;
20348
+ };
20349
+ content: {
20350
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20351
+ };
20352
+ };
20353
+ };
20354
+ };
20355
+ get_organization_attributes_v1_organizations__organization_id__attributes_get: {
20356
+ parameters: {
20357
+ query?: {
20358
+ /** @description Optional list of attribute keys to filter */
20359
+ keys?: string[] | null;
20360
+ };
20361
+ header?: never;
20362
+ path: {
20363
+ organization_id: TypeId<"organization">;
20364
+ };
20365
+ cookie?: never;
20366
+ };
20367
+ requestBody?: never;
20368
+ responses: {
20369
+ /** @description Successful Response */
20370
+ 200: {
20371
+ headers: {
20372
+ [name: string]: unknown;
20373
+ };
20374
+ content: {
20375
+ "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20376
+ };
20377
+ };
20378
+ /** @description Unauthorized */
20379
+ 401: {
20380
+ headers: {
20381
+ [name: string]: unknown;
20382
+ };
20383
+ content: {
20384
+ /** @example {
20385
+ * "code": "ERROR_AUTHENTICATION",
20386
+ * "detail": "Additional error context.",
20387
+ * "status": 401,
20388
+ * "title": "Authentication Error",
20389
+ * "type": "authentication"
20390
+ * } */
20391
+ "application/problem+json": components["schemas"]["Problem"];
20392
+ };
20393
+ };
20394
+ /** @description Forbidden */
20395
+ 403: {
20396
+ headers: {
20397
+ [name: string]: unknown;
20398
+ };
20399
+ content: {
20400
+ /** @example {
20401
+ * "code": "ERROR_PERMISSION_DENIED",
20402
+ * "detail": "Insufficient permissions to perform this action",
20403
+ * "status": 403,
20404
+ * "title": "Permission Denied",
20405
+ * "type": "permission-denied"
20406
+ * } */
20407
+ "application/problem+json": components["schemas"]["Problem"];
20408
+ };
20409
+ };
20410
+ /** @description Validation Error */
20411
+ 422: {
20412
+ headers: {
20413
+ [name: string]: unknown;
20414
+ };
20415
+ content: {
20416
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20417
+ };
20418
+ };
20419
+ };
20420
+ };
20421
+ update_organization_attributes_v1_organizations__organization_id__attributes_patch: {
20422
+ parameters: {
20423
+ query?: never;
20424
+ header?: never;
20425
+ path: {
20426
+ organization_id: TypeId<"organization">;
20427
+ };
20428
+ cookie?: never;
20429
+ };
20430
+ requestBody: {
20431
+ content: {
20432
+ "application/json": components["schemas"]["OrganizationAttributeUpdate"][];
20433
+ };
20434
+ };
20435
+ responses: {
20436
+ /** @description Successful Response */
20437
+ 200: {
20438
+ headers: {
20439
+ [name: string]: unknown;
20440
+ };
20441
+ content: {
20442
+ "application/json": components["schemas"]["OrganizationAttributeResponse"][];
20443
+ };
20444
+ };
20445
+ /** @description Unauthorized */
20446
+ 401: {
20447
+ headers: {
20448
+ [name: string]: unknown;
20449
+ };
20450
+ content: {
20451
+ /** @example {
20452
+ * "code": "ERROR_AUTHENTICATION",
20453
+ * "detail": "Additional error context.",
20454
+ * "status": 401,
20455
+ * "title": "Authentication Error",
20456
+ * "type": "authentication"
20457
+ * } */
20458
+ "application/problem+json": components["schemas"]["Problem"];
20459
+ };
20460
+ };
20461
+ /** @description Forbidden */
20462
+ 403: {
20463
+ headers: {
20464
+ [name: string]: unknown;
20465
+ };
20466
+ content: {
20467
+ /** @example {
20468
+ * "code": "ERROR_PERMISSION_DENIED",
20469
+ * "detail": "Insufficient permissions to perform this action",
20470
+ * "status": 403,
20471
+ * "title": "Permission Denied",
20472
+ * "type": "permission-denied"
20473
+ * } */
20474
+ "application/problem+json": components["schemas"]["Problem"];
20475
+ };
20476
+ };
20477
+ /** @description Validation Error */
20478
+ 422: {
20479
+ headers: {
20480
+ [name: string]: unknown;
20481
+ };
20482
+ content: {
20483
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20484
+ };
20485
+ };
20486
+ };
20487
+ };
20488
+ list_invoices_v1_organizations__organization_id__billing_invoices_get: {
20489
+ parameters: {
20490
+ query?: {
20491
+ page?: number;
20492
+ page_size?: number;
20493
+ };
20494
+ header?: never;
20495
+ path: {
20496
+ organization_id: TypeId<"organization">;
20497
+ };
20498
+ cookie?: never;
20499
+ };
20500
+ requestBody?: never;
20501
+ responses: {
20502
+ /** @description Successful Response */
20503
+ 200: {
20504
+ headers: {
20505
+ [name: string]: unknown;
20506
+ };
20507
+ content: {
20508
+ "application/json": components["schemas"]["Pagination_InvoiceResponse_"];
20509
+ };
20510
+ };
20511
+ /** @description Validation Error */
20512
+ 422: {
20513
+ headers: {
20514
+ [name: string]: unknown;
20515
+ };
20516
+ content: {
20517
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20518
+ };
20519
+ };
20520
+ };
20521
+ };
20522
+ get_pricing_plans_v1_organizations__organization_id__pricing_product_type__product_type__get: {
20523
+ parameters: {
20524
+ query?: {
20525
+ product_action?: components["schemas"]["BillingTransactionAction"] | null;
20526
+ product_class?: string | null;
20527
+ };
20528
+ header?: never;
20529
+ path: {
20530
+ organization_id: TypeId<"organization">;
20531
+ product_type: components["schemas"]["BillingTransactionProductType"];
20532
+ };
20533
+ cookie?: never;
20534
+ };
20535
+ requestBody?: never;
20536
+ responses: {
20537
+ /** @description Successful Response */
20538
+ 200: {
20539
+ headers: {
20540
+ [name: string]: unknown;
20541
+ };
20542
+ content: {
20543
+ "application/json": components["schemas"]["GetPricesResponse"];
20544
+ };
20545
+ };
20546
+ /** @description Unauthorized */
20547
+ 401: {
20548
+ headers: {
20549
+ [name: string]: unknown;
20550
+ };
20551
+ content: {
20552
+ /** @example {
20553
+ * "code": "ERROR_AUTHENTICATION",
20554
+ * "detail": "Additional error context.",
20555
+ * "status": 401,
20556
+ * "title": "Authentication Error",
20557
+ * "type": "authentication"
20558
+ * } */
20559
+ "application/problem+json": components["schemas"]["Problem"];
20560
+ };
20561
+ };
20562
+ /** @description Forbidden */
20563
+ 403: {
20564
+ headers: {
20565
+ [name: string]: unknown;
20566
+ };
20567
+ content: {
20568
+ /** @example {
20569
+ * "code": "ERROR_PERMISSION_DENIED",
20570
+ * "detail": "Insufficient permissions to perform this action",
20571
+ * "status": 403,
20572
+ * "title": "Permission Denied",
20573
+ * "type": "permission-denied"
20574
+ * } */
20575
+ "application/problem+json": components["schemas"]["Problem"];
20576
+ };
20577
+ };
20578
+ /** @description Validation Error */
20579
+ 422: {
20580
+ headers: {
20581
+ [name: string]: unknown;
20582
+ };
20583
+ content: {
20584
+ "application/problem+json": components["schemas"]["HTTPValidationError"];
20585
+ };
20586
+ };
20587
+ };
20588
+ };
20589
+ get_transactions_v1_organizations__organization_id__transactions_get: {
19952
20590
  parameters: {
19953
20591
  query?: {
19954
20592
  sort_by?: components["schemas"]["BillingTransactionSortField"];
@@ -21473,6 +22111,23 @@ export interface operations {
21473
22111
  "application/problem+json": components["schemas"]["Problem"];
21474
22112
  };
21475
22113
  };
22114
+ /** @description Not Found */
22115
+ 404: {
22116
+ headers: {
22117
+ [name: string]: unknown;
22118
+ };
22119
+ content: {
22120
+ /** @example {
22121
+ * "code": "ERROR_ROLE_NOT_FOUND",
22122
+ * "detail": "Role not found",
22123
+ * "role_name": "support_staff",
22124
+ * "status": 404,
22125
+ * "title": "Role Management Error",
22126
+ * "type": "role-not-found"
22127
+ * } */
22128
+ "application/problem+json": components["schemas"]["Problem"];
22129
+ };
22130
+ };
21476
22131
  /** @description Validation Error */
21477
22132
  422: {
21478
22133
  headers: {