@squonk/account-server-client 4.2.5 → 4.4.0-4-4.2174353771

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.
Files changed (92) hide show
  1. package/actions/actions.cjs +53 -0
  2. package/actions/actions.cjs.map +1 -0
  3. package/actions/actions.d.cts +72 -0
  4. package/actions/actions.d.ts +72 -0
  5. package/actions/actions.js +53 -0
  6. package/actions/actions.js.map +1 -0
  7. package/actions/package.json +7 -0
  8. package/asset/asset.cjs +99 -126
  9. package/asset/asset.cjs.map +1 -1
  10. package/asset/asset.d.cts +99 -99
  11. package/asset/asset.d.ts +99 -99
  12. package/asset/asset.js +107 -134
  13. package/asset/asset.js.map +1 -1
  14. package/charges/charges.cjs +73 -85
  15. package/charges/charges.cjs.map +1 -1
  16. package/charges/charges.d.cts +47 -47
  17. package/charges/charges.d.ts +47 -47
  18. package/charges/charges.js +78 -90
  19. package/charges/charges.js.map +1 -1
  20. package/chunk-76ADQBHZ.js +25 -0
  21. package/chunk-76ADQBHZ.js.map +1 -0
  22. package/chunk-KHB5TJT7.cjs +25 -0
  23. package/chunk-KHB5TJT7.cjs.map +1 -0
  24. package/{chunk-TKLTUR4R.cjs → chunk-RB2KVIEK.cjs} +1 -1
  25. package/chunk-RB2KVIEK.cjs.map +1 -0
  26. package/{chunk-EBOQPVLG.js → chunk-XYDLYMQ2.js} +1 -1
  27. package/chunk-XYDLYMQ2.js.map +1 -0
  28. package/event-stream/event-stream.cjs +53 -61
  29. package/event-stream/event-stream.cjs.map +1 -1
  30. package/event-stream/event-stream.d.cts +44 -44
  31. package/event-stream/event-stream.d.ts +44 -44
  32. package/event-stream/event-stream.js +58 -66
  33. package/event-stream/event-stream.js.map +1 -1
  34. package/index.cjs +56 -58
  35. package/index.cjs.map +1 -1
  36. package/index.d.cts +867 -777
  37. package/index.d.ts +867 -777
  38. package/index.js +55 -57
  39. package/index.js.map +1 -1
  40. package/merchant/merchant.cjs +38 -45
  41. package/merchant/merchant.cjs.map +1 -1
  42. package/merchant/merchant.d.cts +25 -25
  43. package/merchant/merchant.d.ts +25 -25
  44. package/merchant/merchant.js +42 -49
  45. package/merchant/merchant.js.map +1 -1
  46. package/organisation/organisation.cjs +77 -87
  47. package/organisation/organisation.cjs.map +1 -1
  48. package/organisation/organisation.d.cts +72 -70
  49. package/organisation/organisation.d.ts +72 -70
  50. package/organisation/organisation.js +83 -93
  51. package/organisation/organisation.js.map +1 -1
  52. package/package.json +15 -18
  53. package/product/product.cjs +143 -153
  54. package/product/product.cjs.map +1 -1
  55. package/product/product.d.cts +100 -100
  56. package/product/product.d.ts +100 -100
  57. package/product/product.js +153 -163
  58. package/product/product.js.map +1 -1
  59. package/src/{account-server-api.schemas.ts → API_TARGET_NAME.schemas.ts} +931 -849
  60. package/src/actions/actions.ts +249 -0
  61. package/src/asset/asset.ts +899 -634
  62. package/src/charges/charges.ts +822 -498
  63. package/src/custom-instance.ts +3 -3
  64. package/src/event-stream/event-stream.ts +530 -344
  65. package/src/index.ts +3 -3
  66. package/src/merchant/merchant.ts +355 -234
  67. package/src/options-mutator.ts +27 -0
  68. package/src/organisation/organisation.ts +812 -504
  69. package/src/product/product.ts +1373 -841
  70. package/src/state/state.ts +174 -127
  71. package/src/unit/unit.ts +1273 -603
  72. package/src/user/user.ts +895 -564
  73. package/state/state.cjs +22 -24
  74. package/state/state.cjs.map +1 -1
  75. package/state/state.d.cts +14 -14
  76. package/state/state.d.ts +14 -14
  77. package/state/state.js +24 -26
  78. package/state/state.js.map +1 -1
  79. package/unit/unit.cjs +171 -106
  80. package/unit/unit.cjs.map +1 -1
  81. package/unit/unit.d.cts +200 -90
  82. package/unit/unit.d.ts +200 -90
  83. package/unit/unit.js +179 -114
  84. package/unit/unit.js.map +1 -1
  85. package/user/user.cjs +94 -110
  86. package/user/user.cjs.map +1 -1
  87. package/user/user.d.cts +77 -77
  88. package/user/user.d.ts +77 -77
  89. package/user/user.js +101 -117
  90. package/user/user.js.map +1 -1
  91. package/chunk-EBOQPVLG.js.map +0 -1
  92. package/chunk-TKLTUR4R.cjs.map +0 -1
@@ -1,653 +1,466 @@
1
- // @ts-nocheck
2
1
  /**
3
- * Generated by orval v7.4.1 🍺
2
+ * Generated by orval v7.10.0 🍺
4
3
  * Do not edit manually.
5
4
  * Account Server API
6
5
  * The Informatics Matters Account Server API.
7
6
 
8
7
  A service that provides access to the Account Server, which gives *registered* users access to and management of **Organisations**, **Units**, **Products**, **Users**, and **Assets**.
9
8
 
10
- * OpenAPI spec version: 4.2
9
+ * OpenAPI spec version: 4.4
11
10
  */
12
- export type AttachAssetParams = {
13
- /**
14
- * A Merchant Identity
15
- */
16
- m_id?: QMIdParameter;
17
- };
18
-
19
- export type GetUnitsParams = {
20
- /**
21
- * An object name
22
- */
23
- name?: QNameParameter;
24
- };
25
-
26
- export type GetOrganisationsParams = {
27
- /**
28
- * An object name
29
- */
30
- name?: QNameParameter;
31
- };
32
-
33
- /**
34
- * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
35
- */
36
- export type QUntilParameter = string;
37
-
38
- /**
39
- * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
40
- */
41
- export type QFromParameter = string;
42
-
43
- export type GetUnitChargesParams = {
44
- /**
45
- * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
46
- */
47
- from?: QFromParameter;
48
- /**
49
- * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
50
- */
51
- until?: QUntilParameter;
52
- /**
53
- * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
54
- */
55
- pbp?: QPbpParameter;
56
- };
57
-
58
- export type GetProductChargesParams = {
59
- /**
60
- * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
61
- */
62
- from?: QFromParameter;
63
- /**
64
- * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
65
- */
66
- until?: QUntilParameter;
67
- /**
68
- * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
69
- */
70
- pbp?: QPbpParameter;
71
- };
72
-
73
- export type GetOrganisationChargesParams = {
74
- /**
75
- * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
76
- */
77
- from?: QFromParameter;
78
- /**
79
- * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
80
- */
81
- until?: QUntilParameter;
82
- /**
83
- * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
84
- */
85
- pbp?: QPbpParameter;
86
- };
87
-
88
- export type GetChargesParams = {
89
- /**
90
- * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
91
- */
92
- from?: QFromParameter;
93
- /**
94
- * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
95
- */
96
- until?: QUntilParameter;
97
- /**
98
- * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
99
- */
100
- pbp?: QPbpParameter;
101
- };
102
-
103
- /**
104
- * A User Identity
105
- */
106
- export type QUserIdParameter = string;
107
-
108
- /**
109
- * A Product Identity
110
- */
111
- export type QProductIdParameter = string;
112
-
113
- /**
114
- * A Unit Identity
115
- */
116
- export type QUnitIdParameter = string;
117
-
118
- /**
119
- * An object name
120
- */
121
- export type QNameParameter = string;
122
-
123
- /**
124
- * A Merchant Identity
125
- */
126
- export type QMIdParameter = number;
127
-
128
- export type DetachAssetParams = {
129
- /**
130
- * A Merchant Identity
131
- */
132
- m_id?: QMIdParameter;
133
- };
11
+ export interface AsError {
12
+ /** Brief error text that can be presented to the user */
13
+ error: string;
14
+ }
134
15
 
135
- /**
136
- * An Organisation Identity
137
- */
138
- export type QOrgIdParameter = string;
16
+ export interface ActionGetResponse {
17
+ /** A list of Actions
18
+ */
19
+ actions: ActionDetail[];
20
+ /** The number of Actions returned
21
+ */
22
+ count: number;
23
+ }
139
24
 
140
- export type GetAssetParams = {
141
- /**
142
- * A User Identity
143
- */
144
- user_id?: QUserIdParameter;
145
- /**
146
- * A Product Identity
147
- */
148
- product_id?: QProductIdParameter;
149
- /**
150
- * A Unit Identity
151
- */
152
- unit_id?: QUnitIdParameter;
153
- /**
154
- * An Organisation Identity
155
- */
156
- org_id?: QOrgIdParameter;
157
- };
25
+ export interface ActionDetail {
26
+ id: number;
27
+ action: string;
28
+ content: string;
29
+ timestamp: string;
30
+ merchant?: MerchantSummary;
31
+ product_id?: string;
32
+ unit_id?: string;
33
+ org_id?: string;
34
+ }
158
35
 
159
- /**
160
- * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
161
- */
162
- export type QPbpParameter = number;
36
+ export type AssetGetByIdResponse = AssetDetail;
163
37
 
164
- export type ProductPatchBodyBody = {
165
- /**
166
- * The name you want to give the Product
167
- * @maxLength 80
168
- */
169
- name?: string;
170
- /**
171
- * The Product's built-in coin allowance. Product allowances cannot be reduced
172
- * @minimum 1
38
+ export interface AssetGetResponse {
39
+ /** A list of Assets
173
40
  */
174
- allowance?: number;
175
- /**
176
- * The Product's built-in coin limit. If set it must not be less than the allowance. If not set the allowance is used. The existing product limit cannot be reduced
177
- * @minimum 1
41
+ assets: AssetDetail[];
42
+ /** The number of Assets returned
178
43
  */
179
- limit?: number;
180
- };
44
+ count: number;
45
+ }
181
46
 
182
- /**
183
- * The Flavour of the Product. Used only for Project Tier Products. Do not set this for Storage products
184
- */
185
- export type UnitProductPostBodyBodyFlavour = typeof UnitProductPostBodyBodyFlavour[keyof typeof UnitProductPostBodyBodyFlavour];
47
+ export interface AssetPostResponse {
48
+ /** The Asset ID
49
+ */
50
+ id: string;
51
+ }
186
52
 
53
+ export interface ChargesGetResponse {
54
+ coins: string;
55
+ count: number;
56
+ summary: ChargeSummary[];
57
+ organisation_charges: OrganisationChargeSummary[];
58
+ }
187
59
 
188
- // eslint-disable-next-line @typescript-eslint/no-redeclare
189
- export const UnitProductPostBodyBodyFlavour = {
190
- EVALUATION: 'EVALUATION',
191
- BRONZE: 'BRONZE',
192
- SILVER: 'SILVER',
193
- GOLD: 'GOLD',
194
- } as const;
60
+ export interface EventStreamGetPostResponse {
61
+ /** The EventStream ID */
62
+ id: number;
63
+ /** A symbolic name, used internally to identify the stream */
64
+ name: string;
65
+ /** The Event Stream location. This will be a URL where events can be fetched. The protocol is typically a WebSocket, but the protocol is defined by the specific Event Stream Service that has been deployed. */
66
+ location: string;
67
+ /** The Event Stream format. */
68
+ format: string;
69
+ }
195
70
 
196
71
  /**
197
- * The Type of Product. Storage subscriptions require an **Allowance** to be defined and the **Flavour** must not be provided.
198
-
199
- Project Tier subscriptions have built-in allowances and Limits so you must not provide values for these for these products
72
+ * The Event Stream protocol, used to inform the client how to connect to given locations and handle events. At the moment the AS only supports web-sockets.
200
73
  */
201
- export type UnitProductPostBodyBodyType = typeof UnitProductPostBodyBodyType[keyof typeof UnitProductPostBodyBodyType];
202
-
74
+ export type EventStreamVersionGetResponseProtocol =
75
+ (typeof EventStreamVersionGetResponseProtocol)[keyof typeof EventStreamVersionGetResponseProtocol];
203
76
 
204
77
  // eslint-disable-next-line @typescript-eslint/no-redeclare
205
- export const UnitProductPostBodyBodyType = {
206
- DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: 'DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION',
207
- DATA_MANAGER_STORAGE_SUBSCRIPTION: 'DATA_MANAGER_STORAGE_SUBSCRIPTION',
78
+ export const EventStreamVersionGetResponseProtocol = {
79
+ ERROR_INTERNAL: "ERROR_INTERNAL",
80
+ SERVICE_NOT_PRESENT: "SERVICE_NOT_PRESENT",
81
+ WEBSOCKET: "WEBSOCKET",
208
82
  } as const;
209
83
 
210
- export type UnitProductPostBodyBody = {
211
- /**
212
- * The name you want to give the Product
213
- * @maxLength 80
214
- */
84
+ export interface EventStreamVersionGetResponse {
85
+ /** The EventStream implementation version */
86
+ version: string;
87
+ /** The Event Stream protocol, used to inform the client how to connect to given locations and handle events. At the moment the AS only supports web-sockets. */
88
+ protocol: EventStreamVersionGetResponseProtocol;
89
+ /** The name of the Event Stream implementation, often used to identify the service origin and implementation. */
215
90
  name: string;
216
- /** The Type of Product. Storage subscriptions require an **Allowance** to be defined and the **Flavour** must not be provided.
91
+ }
217
92
 
218
- Project Tier subscriptions have built-in allowances and Limits so you must not provide values for these for these products */
219
- type: UnitProductPostBodyBodyType;
220
- /** The Flavour of the Product. Used only for Project Tier Products. Do not set this for Storage products */
221
- flavour?: UnitProductPostBodyBodyFlavour;
222
- /**
223
- * The Product's coin allowance. You must provide this for Storage products but you must not provide a value for Project Tier Products
224
- * @minimum 1
225
- */
226
- allowance?: number;
227
- /**
228
- * The Product's built-in coin limit. If set it must not be less than the allowance. If not set the allowance is used. You can provide this for Storage products but you must not provide a value for Project Tier Products
229
- * @minimum 1
93
+ export interface StateGetVersionResponse {
94
+ /** The Account Server version. This is guaranteed to be a valid semantic version for official (tagged) images. The version value format for unofficial images is a string but otherwise undefined
230
95
  */
231
- limit?: number;
232
- };
233
-
234
- /**
235
- * The new default **Product** privacy applied to all products that belong to this Unit. Privacy is also controlled at the **Organisation** level. As an example, the Unit can declare its Products to be `DEFAULT_PRIVATE`, but the Organisation can declare its value to be `DEFAULT_PUBLIC`.
236
-
237
- Whether the privacy can be honoured will depend on the organisation's value
238
- */
239
- export type UnitPatchBodyBodyDefaultProductPrivacy = typeof UnitPatchBodyBodyDefaultProductPrivacy[keyof typeof UnitPatchBodyBodyDefaultProductPrivacy];
240
-
241
-
242
- // eslint-disable-next-line @typescript-eslint/no-redeclare
243
- export const UnitPatchBodyBodyDefaultProductPrivacy = {
244
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
245
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
246
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
247
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
248
- } as const;
96
+ version: string;
97
+ }
249
98
 
250
- export type UnitPatchBodyBody = {
251
- /** The new name for the Unit */
252
- name?: string;
253
- /** The new default **Product** privacy applied to all products that belong to this Unit. Privacy is also controlled at the **Organisation** level. As an example, the Unit can declare its Products to be `DEFAULT_PRIVATE`, but the Organisation can declare its value to be `DEFAULT_PUBLIC`.
99
+ export interface OrganisationPostResponse {
100
+ /** The Organisation's unique ID */
101
+ id: string;
102
+ }
254
103
 
255
- Whether the privacy can be honoured will depend on the organisation's value */
256
- default_product_privacy?: UnitPatchBodyBodyDefaultProductPrivacy;
257
- };
104
+ export interface UsersGetResponse {
105
+ count: number;
106
+ organisation?: OrganisationDetail;
107
+ unit?: UnitDetail;
108
+ /** The list of Organisation Users
109
+ */
110
+ users: UserDetail[];
111
+ }
258
112
 
259
113
  /**
260
- * The new default **Product** privacy applied to all products that belong to this Organisation. Privacy is also controlled at the **Unit** level. As an example the Organisation level privacy can be `DEFAULT_PRIVATE`, but the unit can declare its Products to be `ALWAYS_PRIVATE`.
261
-
262
- Whether the privacy can be honoured will depend on the value in any of the organisation's existing units
114
+ * The Organisation's default product privacy setting
263
115
  */
264
- export type OrganisationPatchBodyBodyDefaultProductPrivacy = typeof OrganisationPatchBodyBodyDefaultProductPrivacy[keyof typeof OrganisationPatchBodyBodyDefaultProductPrivacy];
265
-
116
+ export type OrganisationGetDefaultResponseDefaultProductPrivacy =
117
+ (typeof OrganisationGetDefaultResponseDefaultProductPrivacy)[keyof typeof OrganisationGetDefaultResponseDefaultProductPrivacy];
266
118
 
267
119
  // eslint-disable-next-line @typescript-eslint/no-redeclare
268
- export const OrganisationPatchBodyBodyDefaultProductPrivacy = {
269
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
270
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
271
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
272
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
120
+ export const OrganisationGetDefaultResponseDefaultProductPrivacy = {
121
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
122
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
123
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
124
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
273
125
  } as const;
274
126
 
275
- export type OrganisationPatchBodyBody = {
276
- /** The new name for the Organisational */
127
+ export interface OrganisationGetDefaultResponse {
128
+ /** Whether the user making the API call is a member of the Default Organisation. Only admin users are members of the Default organisation */
129
+ caller_is_member?: boolean;
130
+ /** The Default Organisation ID
131
+ */
132
+ id?: string;
133
+ /** The Default Organisation Name
134
+ */
277
135
  name?: string;
278
- /** The new default **Product** privacy applied to all products that belong to this Organisation. Privacy is also controlled at the **Unit** level. As an example the Organisation level privacy can be `DEFAULT_PRIVATE`, but the unit can declare its Products to be `ALWAYS_PRIVATE`.
279
-
280
- Whether the privacy can be honoured will depend on the value in any of the organisation's existing units */
281
- default_product_privacy?: OrganisationPatchBodyBodyDefaultProductPrivacy;
282
- };
136
+ /** True if the Organisation is private. The Default organisation is always public, although it does not contain a membership (unless you're admin) and only houses Personal Units
137
+ */
138
+ private?: boolean;
139
+ created?: string;
140
+ /** The Organisation's default product privacy setting */
141
+ default_product_privacy?: OrganisationGetDefaultResponseDefaultProductPrivacy;
142
+ }
283
143
 
284
- /**
285
- * The default product privacy setting for products in the unit. Whether the privacy can be honoured will depend on the organisation's value
286
- */
287
- export type OrganisationUnitPostBodyBodyDefaultProductPrivacy = typeof OrganisationUnitPostBodyBodyDefaultProductPrivacy[keyof typeof OrganisationUnitPostBodyBodyDefaultProductPrivacy];
144
+ export interface OrganisationUnitPostResponse {
145
+ /** The unit's unique ID */
146
+ id: string;
147
+ }
288
148
 
149
+ export interface PersonalUnitPutResponse {
150
+ /** The unit's Organisation. Used to identify the Default organisation */
151
+ organisation_id: string;
152
+ /** The unit's unique ID */
153
+ id: string;
154
+ }
289
155
 
290
- // eslint-disable-next-line @typescript-eslint/no-redeclare
291
- export const OrganisationUnitPostBodyBodyDefaultProductPrivacy = {
292
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
293
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
294
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
295
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
296
- } as const;
156
+ export interface OrganisationChargeSummary {
157
+ organisation_id: string;
158
+ name: string;
159
+ summary: ChargeSummary[];
160
+ }
297
161
 
298
- export type OrganisationUnitPostBodyBody = {
299
- /**
300
- * The name of the unit
301
- * @maxLength 80
162
+ export interface OrganisationUnitsGetResponse {
163
+ count?: number;
164
+ organisation: OrganisationAllDetail;
165
+ /** A list of Units
302
166
  */
167
+ units: UnitAllDetail[];
168
+ }
169
+
170
+ export interface OrganisationChargesGetResponse {
171
+ organisation_id: string;
303
172
  name: string;
304
- /**
305
- * The day you would like to be billed for the Unit's Products (a value from 1 and 28)
306
- * @minimum 1
307
- * @maximum 28
308
- */
309
- billing_day: number;
310
- /** The default product privacy setting for products in the unit. Whether the privacy can be honoured will depend on the organisation's value */
311
- default_product_privacy?: OrganisationUnitPostBodyBodyDefaultProductPrivacy;
312
- };
173
+ coins: string;
174
+ summary: ChargeSummary[];
175
+ unit_charges: OrganisationUnitChargeSummary[];
176
+ }
313
177
 
314
- export type PersonalUnitPutBodyBody = {
178
+ export interface OrganisationUnitChargeSummary {
179
+ unit_id: string;
180
+ name: string;
315
181
  /**
316
- * The day you would like to be billed for the Unit's Products (a value from 1 and 28)
317
182
  * @minimum 1
318
183
  * @maximum 28
319
184
  */
320
185
  billing_day: number;
321
- };
322
-
323
- /**
324
- * The default product privacy setting for the Organisation
325
- */
326
- export type OrganisationPostBodyBodyDefaultProductPrivacy = typeof OrganisationPostBodyBodyDefaultProductPrivacy[keyof typeof OrganisationPostBodyBodyDefaultProductPrivacy];
327
-
328
-
329
- // eslint-disable-next-line @typescript-eslint/no-redeclare
330
- export const OrganisationPostBodyBodyDefaultProductPrivacy = {
331
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
332
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
333
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
334
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
335
- } as const;
336
-
337
- export type OrganisationPostBodyBody = {
338
- /**
339
- * The name of the organisation
340
- * @maxLength 80
341
- */
342
- name: string;
343
- /** The name of the organisation owner. A user ID */
344
- owner: string;
345
- /** The default product privacy setting for the Organisation */
346
- default_product_privacy?: OrganisationPostBodyBodyDefaultProductPrivacy;
347
- };
348
-
349
- export type EventStreamPostBodyBodyFormat = typeof EventStreamPostBodyBodyFormat[keyof typeof EventStreamPostBodyBodyFormat];
350
-
351
-
352
- // eslint-disable-next-line @typescript-eslint/no-redeclare
353
- export const EventStreamPostBodyBodyFormat = {
354
- PROTOCOL_STRING: 'PROTOCOL_STRING',
355
- JSON_STRING: 'JSON_STRING',
356
- } as const;
186
+ /** The start of the charge period */
187
+ from: string;
188
+ /** The date where of first day after the charge period */
189
+ until: string;
190
+ summary: ChargeSummary[];
191
+ }
357
192
 
358
- export type EventStreamPostBodyBody = {
359
- format?: EventStreamPostBodyBodyFormat;
360
- };
193
+ export interface OrganisationsGetResponse {
194
+ count: number;
195
+ /** A list of Organisations */
196
+ organisations: OrganisationAllDetail[];
197
+ }
361
198
 
362
- /**
363
- * An enumeration of the scope of the asset. This can be one of `USER`, `PRODUCT`, `UNIT`, `ORGANISATION`, or `GLOBAL`. Assets that are not `GLOBAL` need a scope ID.
364
- */
365
- export type AssetPostBodyBodyScope = typeof AssetPostBodyBodyScope[keyof typeof AssetPostBodyBodyScope];
199
+ export type OrganisationGetResponse = OrganisationAllDetail;
366
200
 
201
+ export type ProductChargesGetResponseProductType =
202
+ (typeof ProductChargesGetResponseProductType)[keyof typeof ProductChargesGetResponseProductType];
367
203
 
368
204
  // eslint-disable-next-line @typescript-eslint/no-redeclare
369
- export const AssetPostBodyBodyScope = {
370
- USER: 'USER',
371
- PRODUCT: 'PRODUCT',
372
- UNIT: 'UNIT',
373
- ORGANISATION: 'ORGANISATION',
374
- GLOBAL: 'GLOBAL',
205
+ export const ProductChargesGetResponseProductType = {
206
+ DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: "DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION",
207
+ DATA_MANAGER_STORAGE_SUBSCRIPTION: "DATA_MANAGER_STORAGE_SUBSCRIPTION",
375
208
  } as const;
376
209
 
377
- export type AssetPostBodyBody = {
210
+ export interface ProductChargesGetResponse {
211
+ product_id: string;
212
+ product_type: ProductChargesGetResponseProductType;
378
213
  /**
379
- * The name of the asset. This must be unique within its scope. For example, only one asset can be called "asset-1" within a given `UNIT`. Asset names must be valid RFC 1123 Label Names
380
- * @maxLength 80
381
- * @pattern ^[a-z0-9-]{1,63}$
214
+ * @minimum 1
215
+ * @maximum 28
382
216
  */
383
- name: string;
384
- /** A file containing the content for the asset. You must provide a value here or in **content_string** but not both */
385
- content_file?: Blob;
386
- /** The textual content of the asset. You must provide a value here or in **content_file** but not both */
387
- content_string?: string;
388
- /** An enumeration of the scope of the asset. This can be one of `USER`, `PRODUCT`, `UNIT`, `ORGANISATION`, or `GLOBAL`. Assets that are not `GLOBAL` need a scope ID. */
389
- scope: AssetPostBodyBodyScope;
390
- /** The unique identity based on the Scope of the asset. For example, this will be the Unit ID if it's a UNIT. A scope_id is required if the scope is USER as it will be automatically set to your username. Global assets do not have a scope. */
391
- scope_id?: string;
392
- /** Is this a secret asset? Secret assets are not revealed in a subsequent **GET** but are revealed to merchants they are connected to. */
393
- secret: boolean;
394
- /** An optional description for the Asset */
395
- description?: string;
396
- };
217
+ billing_day: number;
218
+ /** True if the product can be (needs to be) claimed. */
219
+ claimable: boolean;
220
+ claim?: ProductClaimDetail;
221
+ count: number;
222
+ /** The start of the charge period */
223
+ from: string;
224
+ /** The date where of first day after the charge period */
225
+ until: string;
226
+ /** The total number of coins consumed by this product for the invoice period */
227
+ coins: string;
228
+ processing_charges: ProcessingCharges[];
229
+ storage_charges: StorageCharges;
230
+ }
397
231
 
398
- export type AssetPatchBodyBody = {
399
- /** A file containing the content for the asset. You must provide a value here or in content_string */
400
- content_file?: Blob;
401
- /** The textual content of the asset. You must provide a value here or in content_file */
402
- content_string?: string;
403
- /** An optional description for the Asset */
404
- description?: string;
232
+ export type ProductsGetResponseProductsItem = ProductDmStorage | ProductDmProjectTier;
233
+
234
+ export interface ProductsGetResponse {
235
+ count: number;
236
+ /** All the Products you have access to */
237
+ products: ProductsGetResponseProductsItem[];
238
+ }
239
+
240
+ export type ProductsGetDefaultStorageCostDefaultStorageCost = {
241
+ cost: string;
242
+ units: string;
243
+ description: string;
405
244
  };
406
245
 
407
- export interface UserDetail {
408
- /** The user identity (username) */
409
- id: string;
246
+ export interface ProductsGetDefaultStorageCost {
247
+ default_storage_cost: ProductsGetDefaultStorageCostDefaultStorageCost;
410
248
  }
411
249
 
412
- export interface UserAccountDetail {
413
- user: UserDetail;
414
- /** Whether the caller has admin privilege */
415
- caller_has_admin_privilege: boolean;
416
- /** The roles assigned to the user recognised by the Account Server */
417
- account_server_roles: string[];
250
+ export interface ProductsGetTypesResponse {
251
+ /** The number of Product Types */
252
+ count: number;
253
+ /** All the Product Types you have access to */
254
+ product_types: ProductType[];
418
255
  }
419
256
 
420
257
  /**
421
- * The Unit's default product privacy setting
258
+ * The Unit's Product
422
259
  */
423
- export type UnitDetailDefaultProductPrivacy = typeof UnitDetailDefaultProductPrivacy[keyof typeof UnitDetailDefaultProductPrivacy];
424
-
260
+ export type ProductUnitGetResponseProduct = ProductDmStorage | ProductDmProjectTier;
425
261
 
426
- // eslint-disable-next-line @typescript-eslint/no-redeclare
427
- export const UnitDetailDefaultProductPrivacy = {
428
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
429
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
430
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
431
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
432
- } as const;
262
+ export interface ProductUnitGetResponse {
263
+ /** The Unit's Product */
264
+ product: ProductUnitGetResponseProduct;
265
+ }
433
266
 
434
- export interface UnitDetail {
267
+ export interface UnitChargesGetResponse {
435
268
  /** Whether the user making the API call is a member of the Unit */
436
269
  caller_is_member: boolean;
437
- /** The Unit's unique identity */
438
- id: string;
439
- /** The Unit's name */
440
- name: string;
270
+ unit_id: string;
271
+ name?: string;
441
272
  /** The Unit's owner (a username) */
442
273
  owner_id: string;
443
274
  /** True if the Unit is private */
444
275
  private: boolean;
445
276
  created: string;
446
- /** The Unit's billing day */
277
+ coins: string;
278
+ count: number;
279
+ /**
280
+ * @minimum 1
281
+ * @maximum 28
282
+ */
447
283
  billing_day: number;
448
- /** The Unit's default product privacy setting */
449
- default_product_privacy: UnitDetailDefaultProductPrivacy;
284
+ /** The start of the charge period */
285
+ from: string;
286
+ /** The date where of first day after the charge period */
287
+ until: string;
288
+ summary: UnitChargeSummary;
289
+ products: UnitProductChargeSummary[];
450
290
  }
451
291
 
452
- /**
453
- * The Unit's default product privacy setting
454
- */
455
- export type UnitAllDetailDefaultProductPrivacy = typeof UnitAllDetailDefaultProductPrivacy[keyof typeof UnitAllDetailDefaultProductPrivacy];
456
-
457
-
458
- // eslint-disable-next-line @typescript-eslint/no-redeclare
459
- export const UnitAllDetailDefaultProductPrivacy = {
460
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
461
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
462
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
463
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
464
- } as const;
292
+ export interface UnitChargeSummary {
293
+ charges: ChargeSummary[];
294
+ }
465
295
 
466
- export interface UnitAllDetail {
467
- /** Whether the user making the API call is a member of the Unit */
468
- caller_is_member: boolean;
469
- /** The Unit's unique identity */
470
- id: string;
471
- /** The Unit's name */
472
- name: string;
473
- /** The Unit's owner (a username) */
474
- owner_id: string;
475
- /** True if the Unit is private */
476
- private: boolean;
477
- created: string;
478
- /** The Unit's billing day */
479
- billing_day: number;
480
- /** The Unit's default product privacy setting */
481
- default_product_privacy: UnitAllDetailDefaultProductPrivacy;
482
- /** A list of users that are members of the Unit */
483
- users: UserDetail[];
296
+ export interface UnitProductChargeSummary {
297
+ product_id: string;
298
+ product_type: string;
299
+ charges: ChargeSummary[];
484
300
  }
485
301
 
486
302
  /**
487
- * The kind of Service
303
+ * The type of charge
488
304
  */
489
- export type MerchantDetailKind = typeof MerchantDetailKind[keyof typeof MerchantDetailKind];
490
-
305
+ export type ChargeSummaryType = (typeof ChargeSummaryType)[keyof typeof ChargeSummaryType];
491
306
 
492
307
  // eslint-disable-next-line @typescript-eslint/no-redeclare
493
- export const MerchantDetailKind = {
494
- DATA_MANAGER: 'DATA_MANAGER',
495
- } as const;
308
+ export const ChargeSummaryType = { PROCESSING: "PROCESSING", STORAGE: "STORAGE" } as const;
496
309
 
497
- export interface MerchantDetail {
498
- /** The unique ID of the Service */
499
- id: number;
500
- created: string;
501
- /** The kind of Service */
502
- kind: MerchantDetailKind;
503
- /** The name assigned to the Service */
504
- name: string;
505
- /** The hostname used by the Service */
506
- api_hostname: string;
310
+ export interface ChargeSummary {
311
+ /** The type of charge */
312
+ type: ChargeSummaryType;
313
+ /** The cost, in coins of the charge */
314
+ coins: string;
507
315
  }
508
316
 
509
- export type MerchantGetResponse = MerchantDetail;
317
+ export interface UnitProductPostResponse {
318
+ /** The Product's unique ID */
319
+ id: string;
320
+ }
510
321
 
511
- export interface MerchantsGetResponse {
512
- count?: number;
513
- /** The list of known Merchants
514
- */
515
- merchants: MerchantDetail[];
322
+ export type UnitGetResponse = UnitAllDetail;
323
+
324
+ export interface UnitsGetResponse {
325
+ /** A list of Units
326
+ */
327
+ units: OrganisationUnitsGetResponse[];
516
328
  }
517
329
 
518
- /**
519
- * The Organisation's default product privacy setting
520
- */
521
- export type OrganisationDetailDefaultProductPrivacy = typeof OrganisationDetailDefaultProductPrivacy[keyof typeof OrganisationDetailDefaultProductPrivacy];
330
+ export type UserAccountGetResponse = UserAccountDetail;
522
331
 
332
+ export type AssetDetailScope = (typeof AssetDetailScope)[keyof typeof AssetDetailScope];
523
333
 
524
334
  // eslint-disable-next-line @typescript-eslint/no-redeclare
525
- export const OrganisationDetailDefaultProductPrivacy = {
526
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
527
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
528
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
529
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
335
+ export const AssetDetailScope = {
336
+ USER: "USER",
337
+ PRODUCT: "PRODUCT",
338
+ UNIT: "UNIT",
339
+ ORGANISATION: "ORGANISATION",
340
+ GLOBAL: "GLOBAL",
530
341
  } as const;
531
342
 
532
- export interface OrganisationDetail {
533
- /** Whether the user making the API call is a member of the Unit */
534
- caller_is_member: boolean;
535
- /** The Organisation's unique ID */
343
+ export interface AssetDetail {
344
+ creator: string;
536
345
  id: string;
537
- /** The Organisation's name */
538
346
  name: string;
539
- /** The username of the Organisation's owner. Not all Organisations have an owner. The Default Organisation has no owner. */
540
- owner_id?: string;
541
- /** True if the Unit is private */
542
- private: boolean;
347
+ scope: AssetDetailScope;
348
+ scope_id: string;
349
+ secret: boolean;
350
+ disabled: boolean;
351
+ content: string;
543
352
  created: string;
544
- /** The Organisation's default product privacy setting */
545
- default_product_privacy: OrganisationDetailDefaultProductPrivacy;
353
+ content_modified?: string;
354
+ description?: string;
355
+ merchants: MerchantDetail[];
546
356
  }
547
357
 
548
- /**
549
- * The Organisation's default product privacy setting
550
- */
551
- export type OrganisationAllDetailDefaultProductPrivacy = typeof OrganisationAllDetailDefaultProductPrivacy[keyof typeof OrganisationAllDetailDefaultProductPrivacy];
552
-
358
+ export type ProcessingChargesMerchantKind =
359
+ (typeof ProcessingChargesMerchantKind)[keyof typeof ProcessingChargesMerchantKind];
553
360
 
554
361
  // eslint-disable-next-line @typescript-eslint/no-redeclare
555
- export const OrganisationAllDetailDefaultProductPrivacy = {
556
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
557
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
558
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
559
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
560
- } as const;
362
+ export const ProcessingChargesMerchantKind = { DATA_MANAGER: "DATA_MANAGER" } as const;
561
363
 
562
- export interface OrganisationAllDetail {
563
- /** Whether the user making the API call is a member of the Unit */
564
- caller_is_member: boolean;
565
- /** The Organisation's unique ID */
566
- id: string;
567
- /** The Organisation's name */
568
- name: string;
569
- /** The username of the Organisation's owner. Not all Organisations have an owner. The Default Organisation has no owner. */
570
- owner_id?: string;
571
- /** True if the Unit is private */
572
- private: boolean;
573
- created: string;
574
- /** The Organisation's default product privacy setting */
575
- default_product_privacy: OrganisationAllDetailDefaultProductPrivacy;
576
- /** A list of users that are members of the Organisation */
577
- users: UserDetail[];
364
+ export interface ProcessingCharges {
365
+ merchant_name: string;
366
+ merchant_kind: ProcessingChargesMerchantKind;
367
+ merchant_api_hostname: string;
368
+ /** The date when the process stopped */
369
+ closed?: string;
370
+ /** True if no further change to the charges can occur. Typically True after the charge has been closed for a pre-configured period of time. */
371
+ final: boolean;
372
+ /** True if charges were received after the charge record was finalised */
373
+ post_final_charges?: boolean;
374
+ charge: ProcessingChargeItem;
578
375
  }
579
376
 
580
- /**
581
- * The kind of service that can use the Product
582
- */
583
- export type ProductTypeServiceKind = typeof ProductTypeServiceKind[keyof typeof ProductTypeServiceKind];
377
+ export interface ProcessingChargeItem {
378
+ /** The charge record number */
379
+ id: number;
380
+ /** The most recent sequence number for this charge */
381
+ sqn: number;
382
+ name?: string;
383
+ username: string;
384
+ /** The date and time of the processing charge */
385
+ timestamp: string;
386
+ /** The coin-cost of the storage */
387
+ coins: string;
388
+ additional_data?: ChargeAdditionalData;
389
+ }
584
390
 
391
+ export interface StorageCharges {
392
+ num_items: number;
393
+ items: StorageChargeItem[];
394
+ }
585
395
 
586
- // eslint-disable-next-line @typescript-eslint/no-redeclare
587
- export const ProductTypeServiceKind = {
588
- DATA_MANAGER: 'DATA_MANAGER',
589
- } as const;
396
+ export interface StorageChargeItem {
397
+ item_number: number;
398
+ /** The date and time of the processing charge */
399
+ date: string;
400
+ /** The coin-cost of the storage */
401
+ coins: string;
402
+ /** The current burn rate, the approximate amount of coins you are currently consuming each day */
403
+ current_burn_rate?: string;
404
+ /** The date when the charges concluded */
405
+ closed?: string;
406
+ additional_data?: ChargeAdditionalData;
407
+ }
590
408
 
591
- export interface ProductType {
592
- /** A product type, this is a unique string amongst all types known to the Account Server */
593
- type: string;
594
- /** A product flavour. Not all types have a flavour, those that do have a type-specific flavour string */
595
- flavour?: string;
596
- /** The kind of service that can use the Product */
597
- service_kind?: ProductTypeServiceKind;
409
+ export interface ChargeAdditionalData {
410
+ [key: string]: unknown;
411
+ }
412
+
413
+ export interface ProductDmStorage {
414
+ product: ProductDetail;
415
+ organisation: OrganisationAllDetail;
416
+ unit: UnitAllDetail;
417
+ storage: ProductDmStorageDetail;
418
+ coins: ProductCoinsDetail;
419
+ /** True if the product can be (needs to be) claimed. */
420
+ claimable: boolean;
421
+ }
422
+
423
+ export interface ProductDmProjectTier {
424
+ product: ProductDetail;
425
+ organisation: OrganisationAllDetail;
426
+ unit: UnitAllDetail;
427
+ storage: ProductDmStorageDetail;
428
+ coins: ProductCoinsDetail;
429
+ instance: ProductInstanceDetail;
430
+ /** True if the product can be (needs to be) claimed. */
431
+ claimable: boolean;
432
+ claim?: ProductClaimDetail;
598
433
  }
599
434
 
600
- export type ProductInstanceDetailCoins = {
601
- /** The number of coins used
602
- */
435
+ export type ProductDmStorageDetailSize = {
436
+ /** The humanised size of the peak storage used for the current day. The value is reset at the start of each day */
437
+ peak: string;
438
+ /** The humanised size of the current storage used for the current day and used to calculate the 'burn rate' */
439
+ current: string;
440
+ /** The humanised storage unit. The cost of storage is based on the daily peak of the number of units (or part thereof) used */
441
+ unit_size: string;
442
+ /** The peak number of storage units used today */
443
+ units_used: number;
444
+ };
445
+
446
+ export type ProductDmStorageDetailCoins = {
447
+ /** The number of coins currently committed for the current day. This is added to the accumulated coins at the start of each day */
603
448
  used: number;
449
+ /** The coin cost of a 'unit' of storage or part thereof. The unit size is defined in the storage section of the response */
450
+ unit_cost: number;
604
451
  };
605
452
 
606
- export interface ProductInstanceDetail {
607
- coins: ProductInstanceDetailCoins;
453
+ export interface ProductDmStorageDetail {
454
+ size: ProductDmStorageDetailSize;
455
+ coins: ProductDmStorageDetailCoins;
608
456
  }
609
457
 
610
- /**
611
- * The Product Type flavour. Not all products have flavours
612
-
613
- */
614
- export type ProductDetailFlavour = typeof ProductDetailFlavour[keyof typeof ProductDetailFlavour];
615
-
616
-
617
- // eslint-disable-next-line @typescript-eslint/no-redeclare
618
- export const ProductDetailFlavour = {
619
- EVALUATION: 'EVALUATION',
620
- BRONZE: 'BRONZE',
621
- SILVER: 'SILVER',
622
- GOLD: 'GOLD',
623
- } as const;
624
-
625
- /**
626
- * The Product Type
627
-
628
- */
629
- export type ProductDetailType = typeof ProductDetailType[keyof typeof ProductDetailType];
630
-
631
-
632
- // eslint-disable-next-line @typescript-eslint/no-redeclare
633
- export const ProductDetailType = {
634
- DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: 'DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION',
635
- DATA_MANAGER_STORAGE_SUBSCRIPTION: 'DATA_MANAGER_STORAGE_SUBSCRIPTION',
636
- } as const;
637
-
638
- export interface ProductDetail {
639
- /** The Product ID
640
- */
458
+ export interface ProductClaimDetail {
459
+ /** The service-specific ID that is using this Subscription
460
+ */
641
461
  id: string;
642
- created: string;
643
- /** The Product Type
644
- */
645
- type: ProductDetailType;
646
- /** The Product Type flavour. Not all products have flavours
647
- */
648
- flavour?: ProductDetailFlavour;
649
- /** The name of the Product
650
- */
462
+ /** A name for the service-specific ID
463
+ */
651
464
  name?: string;
652
465
  }
653
466
 
@@ -676,442 +489,711 @@ export interface ProductCoinsDetail {
676
489
  remaining_days: number;
677
490
  }
678
491
 
679
- export interface ProductClaimDetail {
680
- /** The service-specific ID that is using this Subscription
681
- */
682
- id: string;
683
- /** A name for the service-specific ID
492
+ /**
493
+ * The Product Type
494
+
684
495
  */
685
- name?: string;
686
- }
496
+ export type ProductDetailType = (typeof ProductDetailType)[keyof typeof ProductDetailType];
687
497
 
688
- export type ProductDmStorageDetailCoins = {
689
- /** The number of coins currently committed for the current day. This is added to the accumulated coins at the start of each day */
690
- used: number;
691
- /** The coin cost of a 'unit' of storage or part thereof. The unit size is defined in the storage section of the response */
692
- unit_cost: number;
693
- };
498
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
499
+ export const ProductDetailType = {
500
+ DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: "DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION",
501
+ DATA_MANAGER_STORAGE_SUBSCRIPTION: "DATA_MANAGER_STORAGE_SUBSCRIPTION",
502
+ } as const;
694
503
 
695
- export type ProductDmStorageDetailSize = {
696
- /** The humanised size of the peak storage used for the current day. The value is reset at the start of each day */
697
- peak: string;
698
- /** The humanised size of the current storage used for the current day and used to calculate the 'burn rate' */
699
- current: string;
700
- /** The humanised storage unit. The cost of storage is based on the daily peak of the number of units (or part thereof) used */
701
- unit_size: string;
702
- /** The peak number of storage units used today */
703
- units_used: number;
704
- };
504
+ /**
505
+ * The Product Type flavour. Not all products have flavours
705
506
 
706
- export interface ProductDmStorageDetail {
707
- size: ProductDmStorageDetailSize;
708
- coins: ProductDmStorageDetailCoins;
709
- }
507
+ */
508
+ export type ProductDetailFlavour = (typeof ProductDetailFlavour)[keyof typeof ProductDetailFlavour];
710
509
 
711
- export interface ProductDmProjectTier {
712
- product: ProductDetail;
713
- organisation: OrganisationAllDetail;
714
- unit: UnitAllDetail;
715
- storage: ProductDmStorageDetail;
716
- coins: ProductCoinsDetail;
717
- instance: ProductInstanceDetail;
718
- /** True if the product can be (needs to be) claimed. */
719
- claimable: boolean;
720
- claim?: ProductClaimDetail;
721
- }
510
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
511
+ export const ProductDetailFlavour = {
512
+ EVALUATION: "EVALUATION",
513
+ BRONZE: "BRONZE",
514
+ SILVER: "SILVER",
515
+ GOLD: "GOLD",
516
+ } as const;
722
517
 
723
- export interface ProductDmStorage {
724
- product: ProductDetail;
725
- organisation: OrganisationAllDetail;
726
- unit: UnitAllDetail;
727
- storage: ProductDmStorageDetail;
728
- coins: ProductCoinsDetail;
729
- /** True if the product can be (needs to be) claimed. */
730
- claimable: boolean;
518
+ export interface ProductDetail {
519
+ /** The Product ID
520
+ */
521
+ id: string;
522
+ created: string;
523
+ /** The Product Type
524
+ */
525
+ type: ProductDetailType;
526
+ /** The Product Type flavour. Not all products have flavours
527
+ */
528
+ flavour?: ProductDetailFlavour;
529
+ /** The name of the Product
530
+ */
531
+ name?: string;
731
532
  }
732
533
 
733
- export interface ChargeAdditionalData { [key: string]: unknown }
534
+ export type ProductInstanceDetailCoins = {
535
+ /** The number of coins used
536
+ */
537
+ used: number;
538
+ };
734
539
 
735
- export interface StorageChargeItem {
736
- item_number: number;
737
- /** The date and time of the processing charge */
738
- date: string;
739
- /** The coin-cost of the storage */
740
- coins: string;
741
- /** The current burn rate, the approximate amount of coins you are currently consuming each day */
742
- current_burn_rate?: string;
743
- /** The date when the charges concluded */
744
- closed?: string;
745
- additional_data?: ChargeAdditionalData;
540
+ export interface ProductInstanceDetail {
541
+ coins: ProductInstanceDetailCoins;
746
542
  }
747
543
 
748
- export interface StorageCharges {
749
- num_items: number;
750
- items: StorageChargeItem[];
751
- }
544
+ /**
545
+ * The kind of service that can use the Product
546
+ */
547
+ export type ProductTypeServiceKind =
548
+ (typeof ProductTypeServiceKind)[keyof typeof ProductTypeServiceKind];
752
549
 
753
- export interface ProcessingChargeItem {
754
- /** The charge record number */
755
- id: number;
756
- /** The most recent sequence number for this charge */
757
- sqn: number;
758
- name?: string;
759
- username: string;
760
- /** The date and time of the processing charge */
761
- timestamp: string;
762
- /** The coin-cost of the storage */
763
- coins: string;
764
- additional_data?: ChargeAdditionalData;
765
- }
550
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
551
+ export const ProductTypeServiceKind = { DATA_MANAGER: "DATA_MANAGER" } as const;
766
552
 
767
- export type ProcessingChargesMerchantKind = typeof ProcessingChargesMerchantKind[keyof typeof ProcessingChargesMerchantKind];
553
+ export interface ProductType {
554
+ /** A product type, this is a unique string amongst all types known to the Account Server */
555
+ type: string;
556
+ /** A product flavour. Not all types have a flavour, those that do have a type-specific flavour string */
557
+ flavour?: string;
558
+ /** The kind of service that can use the Product */
559
+ service_kind?: ProductTypeServiceKind;
560
+ }
768
561
 
562
+ /**
563
+ * The Organisation's default product privacy setting
564
+ */
565
+ export type OrganisationAllDetailDefaultProductPrivacy =
566
+ (typeof OrganisationAllDetailDefaultProductPrivacy)[keyof typeof OrganisationAllDetailDefaultProductPrivacy];
769
567
 
770
568
  // eslint-disable-next-line @typescript-eslint/no-redeclare
771
- export const ProcessingChargesMerchantKind = {
772
- DATA_MANAGER: 'DATA_MANAGER',
569
+ export const OrganisationAllDetailDefaultProductPrivacy = {
570
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
571
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
572
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
573
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
773
574
  } as const;
774
575
 
775
- export interface ProcessingCharges {
776
- merchant_name: string;
777
- merchant_kind: ProcessingChargesMerchantKind;
778
- merchant_api_hostname: string;
779
- /** The date when the process stopped */
780
- closed?: string;
781
- /** True if no further change to the charges can occur. Typically True after the charge has been closed for a pre-configured period of time. */
782
- final: boolean;
783
- /** True if charges were received after the charge record was finalised */
784
- post_final_charges?: boolean;
785
- charge: ProcessingChargeItem;
576
+ export interface OrganisationAllDetail {
577
+ /** Whether the user making the API call is a member of the Unit */
578
+ caller_is_member: boolean;
579
+ /** The Organisation's unique ID */
580
+ id: string;
581
+ /** The Organisation's name */
582
+ name: string;
583
+ /** The username of the Organisation's owner. Not all Organisations have an owner. The Default Organisation has no owner. */
584
+ owner_id?: string;
585
+ /** True if the Unit is private */
586
+ private: boolean;
587
+ created: string;
588
+ /** The Organisation's default product privacy setting */
589
+ default_product_privacy: OrganisationAllDetailDefaultProductPrivacy;
590
+ /** A list of users that are members of the Organisation */
591
+ users: UserDetail[];
786
592
  }
787
593
 
788
- export type AssetDetailScope = typeof AssetDetailScope[keyof typeof AssetDetailScope];
789
-
594
+ /**
595
+ * The Organisation's default product privacy setting
596
+ */
597
+ export type OrganisationDetailDefaultProductPrivacy =
598
+ (typeof OrganisationDetailDefaultProductPrivacy)[keyof typeof OrganisationDetailDefaultProductPrivacy];
790
599
 
791
600
  // eslint-disable-next-line @typescript-eslint/no-redeclare
792
- export const AssetDetailScope = {
793
- USER: 'USER',
794
- PRODUCT: 'PRODUCT',
795
- UNIT: 'UNIT',
796
- ORGANISATION: 'ORGANISATION',
797
- GLOBAL: 'GLOBAL',
601
+ export const OrganisationDetailDefaultProductPrivacy = {
602
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
603
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
604
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
605
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
798
606
  } as const;
799
607
 
800
- export interface AssetDetail {
801
- creator: string;
608
+ export interface OrganisationDetail {
609
+ /** Whether the user making the API call is a member of the Unit */
610
+ caller_is_member: boolean;
611
+ /** The Organisation's unique ID */
802
612
  id: string;
613
+ /** The Organisation's name */
803
614
  name: string;
804
- scope: AssetDetailScope;
805
- scope_id: string;
806
- secret: boolean;
807
- disabled: boolean;
808
- content: string;
615
+ /** The username of the Organisation's owner. Not all Organisations have an owner. The Default Organisation has no owner. */
616
+ owner_id?: string;
617
+ /** True if the Unit is private */
618
+ private: boolean;
809
619
  created: string;
810
- content_modified?: string;
811
- description?: string;
620
+ /** The Organisation's default product privacy setting */
621
+ default_product_privacy: OrganisationDetailDefaultProductPrivacy;
622
+ }
623
+
624
+ export interface MerchantsGetResponse {
625
+ count?: number;
626
+ /** The list of known Merchants
627
+ */
812
628
  merchants: MerchantDetail[];
813
629
  }
814
630
 
815
- export type UserAccountGetResponse = UserAccountDetail;
631
+ export type MerchantGetResponse = MerchantDetail;
816
632
 
817
- export interface UnitsGetResponse {
818
- /** A list of Units
633
+ /**
634
+ * The kind of Service
819
635
  */
820
- units: OrganisationUnitsGetResponse[];
636
+ export type MerchantDetailKind = (typeof MerchantDetailKind)[keyof typeof MerchantDetailKind];
637
+
638
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
639
+ export const MerchantDetailKind = { DATA_MANAGER: "DATA_MANAGER" } as const;
640
+
641
+ export interface MerchantDetail {
642
+ /** The unique ID of the Service */
643
+ id: number;
644
+ created: string;
645
+ /** The kind of Service */
646
+ kind: MerchantDetailKind;
647
+ /** The name assigned to the Service */
648
+ name: string;
649
+ /** The hostname used by the Service */
650
+ api_hostname: string;
821
651
  }
822
652
 
823
- export type UnitGetResponse = UnitAllDetail;
653
+ /**
654
+ * The kind of Service
655
+ */
656
+ export type MerchantSummaryKind = (typeof MerchantSummaryKind)[keyof typeof MerchantSummaryKind];
824
657
 
825
- export interface UnitProductPostResponse {
826
- /** The Product's unique ID */
827
- id: string;
658
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
659
+ export const MerchantSummaryKind = { DATA_MANAGER: "DATA_MANAGER" } as const;
660
+
661
+ export interface MerchantSummary {
662
+ /** The unique ID of the Merchant */
663
+ id: number;
664
+ /** The kind of Service */
665
+ kind: MerchantSummaryKind;
666
+ /** The name assigned to the Service */
667
+ name: string;
828
668
  }
829
669
 
830
670
  /**
831
- * The type of charge
671
+ * The Unit's default product privacy setting
832
672
  */
833
- export type ChargeSummaryType = typeof ChargeSummaryType[keyof typeof ChargeSummaryType];
834
-
673
+ export type UnitAllDetailDefaultProductPrivacy =
674
+ (typeof UnitAllDetailDefaultProductPrivacy)[keyof typeof UnitAllDetailDefaultProductPrivacy];
835
675
 
836
676
  // eslint-disable-next-line @typescript-eslint/no-redeclare
837
- export const ChargeSummaryType = {
838
- PROCESSING: 'PROCESSING',
839
- STORAGE: 'STORAGE',
677
+ export const UnitAllDetailDefaultProductPrivacy = {
678
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
679
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
680
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
681
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
840
682
  } as const;
841
683
 
842
- export interface ChargeSummary {
843
- /** The type of charge */
844
- type: ChargeSummaryType;
845
- /** The cost, in coins of the charge */
846
- coins: string;
684
+ export interface UnitAllDetail {
685
+ /** Whether the user making the API call is a member of the Unit */
686
+ caller_is_member: boolean;
687
+ /** The Unit's unique identity */
688
+ id: string;
689
+ /** The Unit's name */
690
+ name: string;
691
+ /** The Unit's owner (a username) */
692
+ owner_id: string;
693
+ /** True if the Unit is private */
694
+ private: boolean;
695
+ created: string;
696
+ /** The Unit's billing day */
697
+ billing_day: number;
698
+ /** The Unit's default product privacy setting */
699
+ default_product_privacy: UnitAllDetailDefaultProductPrivacy;
700
+ /** A list of users that are members of the Unit */
701
+ users: UserDetail[];
847
702
  }
848
703
 
849
- export interface UnitProductChargeSummary {
850
- product_id: string;
851
- product_type: string;
852
- charges: ChargeSummary[];
853
- }
704
+ /**
705
+ * The Unit's default product privacy setting
706
+ */
707
+ export type UnitDetailDefaultProductPrivacy =
708
+ (typeof UnitDetailDefaultProductPrivacy)[keyof typeof UnitDetailDefaultProductPrivacy];
854
709
 
855
- export interface UnitChargeSummary {
856
- charges: ChargeSummary[];
857
- }
710
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
711
+ export const UnitDetailDefaultProductPrivacy = {
712
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
713
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
714
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
715
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
716
+ } as const;
858
717
 
859
- export interface UnitChargesGetResponse {
718
+ export interface UnitDetail {
860
719
  /** Whether the user making the API call is a member of the Unit */
861
720
  caller_is_member: boolean;
862
- unit_id: string;
863
- name?: string;
721
+ /** The Unit's unique identity */
722
+ id: string;
723
+ /** The Unit's name */
724
+ name: string;
864
725
  /** The Unit's owner (a username) */
865
726
  owner_id: string;
866
727
  /** True if the Unit is private */
867
728
  private: boolean;
868
729
  created: string;
869
- coins: string;
870
- count: number;
871
- /**
872
- * @minimum 1
873
- * @maximum 28
874
- */
730
+ /** The Unit's billing day */
875
731
  billing_day: number;
876
- /** The start of the charge period */
877
- from: string;
878
- /** The date where of first day after the charge period */
879
- until: string;
880
- summary: UnitChargeSummary;
881
- products: UnitProductChargeSummary[];
732
+ /** The Unit's default product privacy setting */
733
+ default_product_privacy: UnitDetailDefaultProductPrivacy;
882
734
  }
883
735
 
884
- /**
885
- * The Unit's Product
886
- */
887
- export type ProductUnitGetResponseProduct = ProductDmStorage | ProductDmProjectTier;
888
-
889
- export interface ProductUnitGetResponse {
890
- /** The Unit's Product */
891
- product: ProductUnitGetResponseProduct;
736
+ export interface UserAccountDetail {
737
+ user: UserDetail;
738
+ /** Whether the caller has admin privilege */
739
+ caller_has_admin_privilege: boolean;
740
+ /** The roles assigned to the user recognised by the Account Server */
741
+ account_server_roles: string[];
892
742
  }
893
743
 
894
- export interface ProductsGetTypesResponse {
895
- /** The number of Product Types */
896
- count: number;
897
- /** All the Product Types you have access to */
898
- product_types: ProductType[];
744
+ export interface UserDetail {
745
+ /** The user identity (username) */
746
+ id: string;
899
747
  }
900
748
 
901
- export type ProductsGetDefaultStorageCostDefaultStorageCost = {
902
- cost: string;
903
- units: string;
904
- description: string;
749
+ export type AssetPatchBodyBody = {
750
+ /** A file containing the content for the asset. You must provide a value here or in content_string */
751
+ content_file?: Blob;
752
+ /** The textual content of the asset. You must provide a value here or in content_file */
753
+ content_string?: string;
754
+ /** An optional description for the Asset */
755
+ description?: string;
905
756
  };
906
757
 
907
- export interface ProductsGetDefaultStorageCost {
908
- default_storage_cost: ProductsGetDefaultStorageCostDefaultStorageCost;
909
- }
758
+ /**
759
+ * An enumeration of the scope of the asset. This can be one of `USER`, `PRODUCT`, `UNIT`, `ORGANISATION`, or `GLOBAL`. Assets that are not `GLOBAL` need a scope ID.
760
+ */
761
+ export type AssetPostBodyBodyScope =
762
+ (typeof AssetPostBodyBodyScope)[keyof typeof AssetPostBodyBodyScope];
910
763
 
911
- export type ProductsGetResponseProductsItem = ProductDmStorage | ProductDmProjectTier;
764
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
765
+ export const AssetPostBodyBodyScope = {
766
+ USER: "USER",
767
+ PRODUCT: "PRODUCT",
768
+ UNIT: "UNIT",
769
+ ORGANISATION: "ORGANISATION",
770
+ GLOBAL: "GLOBAL",
771
+ } as const;
912
772
 
913
- export interface ProductsGetResponse {
914
- count: number;
915
- /** All the Products you have access to */
916
- products: ProductsGetResponseProductsItem[];
917
- }
773
+ export type AssetPostBodyBody = {
774
+ /**
775
+ * The name of the asset. This must be unique within its scope. For example, only one asset can be called "asset-1" within a given `UNIT`. Asset names must be valid RFC 1123 Label Names
776
+ * @maxLength 80
777
+ * @pattern ^[a-z0-9-]{1,63}$
778
+ */
779
+ name: string;
780
+ /** A file containing the content for the asset. You must provide a value here or in **content_string** but not both */
781
+ content_file?: Blob;
782
+ /** The textual content of the asset. You must provide a value here or in **content_file** but not both */
783
+ content_string?: string;
784
+ /** An enumeration of the scope of the asset. This can be one of `USER`, `PRODUCT`, `UNIT`, `ORGANISATION`, or `GLOBAL`. Assets that are not `GLOBAL` need a scope ID. */
785
+ scope: AssetPostBodyBodyScope;
786
+ /** The unique identity based on the Scope of the asset. For example, this will be the Unit ID if it's a UNIT. A scope_id is required if the scope is USER as it will be automatically set to your username. Global assets do not have a scope. */
787
+ scope_id?: string;
788
+ /** Is this a secret asset? Secret assets are not revealed in a subsequent **GET** but are revealed to merchants they are connected to. */
789
+ secret: boolean;
790
+ /** An optional description for the Asset */
791
+ description?: string;
792
+ };
793
+
794
+ export type EventStreamPostBodyBodyFormat =
795
+ (typeof EventStreamPostBodyBodyFormat)[keyof typeof EventStreamPostBodyBodyFormat];
796
+
797
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
798
+ export const EventStreamPostBodyBodyFormat = {
799
+ PROTOCOL_STRING: "PROTOCOL_STRING",
800
+ JSON_STRING: "JSON_STRING",
801
+ } as const;
918
802
 
919
- export type ProductChargesGetResponseProductType = typeof ProductChargesGetResponseProductType[keyof typeof ProductChargesGetResponseProductType];
803
+ export type EventStreamPostBodyBody = { format?: EventStreamPostBodyBodyFormat };
920
804
 
805
+ /**
806
+ * The default product privacy setting for the Organisation
807
+ */
808
+ export type OrganisationPostBodyBodyDefaultProductPrivacy =
809
+ (typeof OrganisationPostBodyBodyDefaultProductPrivacy)[keyof typeof OrganisationPostBodyBodyDefaultProductPrivacy];
921
810
 
922
811
  // eslint-disable-next-line @typescript-eslint/no-redeclare
923
- export const ProductChargesGetResponseProductType = {
924
- DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: 'DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION',
925
- DATA_MANAGER_STORAGE_SUBSCRIPTION: 'DATA_MANAGER_STORAGE_SUBSCRIPTION',
812
+ export const OrganisationPostBodyBodyDefaultProductPrivacy = {
813
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
814
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
815
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
816
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
926
817
  } as const;
927
818
 
928
- export interface ProductChargesGetResponse {
929
- product_id: string;
930
- product_type: ProductChargesGetResponseProductType;
819
+ export type OrganisationPostBodyBody = {
820
+ /**
821
+ * The name of the organisation
822
+ * @maxLength 80
823
+ */
824
+ name: string;
825
+ /** The name of the organisation owner. A user ID */
826
+ owner: string;
827
+ /** The default product privacy setting for the Organisation */
828
+ default_product_privacy?: OrganisationPostBodyBodyDefaultProductPrivacy;
829
+ };
830
+
831
+ export type PersonalUnitPutBodyBody = {
931
832
  /**
833
+ * The day you would like to be billed for the Unit's Products (a value from 1 and 28)
932
834
  * @minimum 1
933
835
  * @maximum 28
934
836
  */
935
837
  billing_day: number;
936
- /** True if the product can be (needs to be) claimed. */
937
- claimable: boolean;
938
- claim?: ProductClaimDetail;
939
- count: number;
940
- /** The start of the charge period */
941
- from: string;
942
- /** The date where of first day after the charge period */
943
- until: string;
944
- /** The total number of coins consumed by this product for the invoice period */
945
- coins: string;
946
- processing_charges: ProcessingCharges[];
947
- storage_charges: StorageCharges;
948
- }
838
+ };
949
839
 
950
- export type OrganisationGetResponse = OrganisationAllDetail;
840
+ /**
841
+ * The default product privacy setting for products in the unit. Whether the privacy can be honoured will depend on the organisation's value
842
+ */
843
+ export type OrganisationUnitPostBodyBodyDefaultProductPrivacy =
844
+ (typeof OrganisationUnitPostBodyBodyDefaultProductPrivacy)[keyof typeof OrganisationUnitPostBodyBodyDefaultProductPrivacy];
951
845
 
952
- export interface OrganisationsGetResponse {
953
- count: number;
954
- /** A list of Organisations */
955
- organisations: OrganisationAllDetail[];
956
- }
846
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
847
+ export const OrganisationUnitPostBodyBodyDefaultProductPrivacy = {
848
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
849
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
850
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
851
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
852
+ } as const;
957
853
 
958
- export interface OrganisationUnitChargeSummary {
959
- unit_id: string;
854
+ export type OrganisationUnitPostBodyBody = {
855
+ /**
856
+ * The name of the unit
857
+ * @maxLength 80
858
+ */
960
859
  name: string;
961
860
  /**
861
+ * The day you would like to be billed for the Unit's Products (a value from 1 and 28)
962
862
  * @minimum 1
963
863
  * @maximum 28
964
864
  */
965
865
  billing_day: number;
966
- /** The start of the charge period */
967
- from: string;
968
- /** The date where of first day after the charge period */
969
- until: string;
970
- summary: ChargeSummary[];
971
- }
866
+ /** The default product privacy setting for products in the unit. Whether the privacy can be honoured will depend on the organisation's value */
867
+ default_product_privacy?: OrganisationUnitPostBodyBodyDefaultProductPrivacy;
868
+ };
972
869
 
973
- export interface OrganisationChargesGetResponse {
974
- organisation_id: string;
975
- name: string;
976
- coins: string;
977
- summary: ChargeSummary[];
978
- unit_charges: OrganisationUnitChargeSummary[];
979
- }
870
+ /**
871
+ * The new default **Product** privacy applied to all products that belong to this Organisation. Privacy is also controlled at the **Unit** level. As an example the Organisation level privacy can be `DEFAULT_PRIVATE`, but the unit can declare its Products to be `ALWAYS_PRIVATE`.
980
872
 
981
- export interface OrganisationUnitsGetResponse {
982
- count?: number;
983
- organisation: OrganisationAllDetail;
984
- /** A list of Units
873
+ Whether the privacy can be honoured will depend on the value in any of the organisation's existing units
985
874
  */
986
- units: UnitAllDetail[];
987
- }
875
+ export type OrganisationPatchBodyBodyDefaultProductPrivacy =
876
+ (typeof OrganisationPatchBodyBodyDefaultProductPrivacy)[keyof typeof OrganisationPatchBodyBodyDefaultProductPrivacy];
988
877
 
989
- export interface OrganisationChargeSummary {
990
- organisation_id: string;
991
- name: string;
992
- summary: ChargeSummary[];
993
- }
878
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
879
+ export const OrganisationPatchBodyBodyDefaultProductPrivacy = {
880
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
881
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
882
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
883
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
884
+ } as const;
885
+
886
+ export type OrganisationPatchBodyBody = {
887
+ /** The new name for the Organisational */
888
+ name?: string;
889
+ /** The new default **Product** privacy applied to all products that belong to this Organisation. Privacy is also controlled at the **Unit** level. As an example the Organisation level privacy can be `DEFAULT_PRIVATE`, but the unit can declare its Products to be `ALWAYS_PRIVATE`.
890
+
891
+ Whether the privacy can be honoured will depend on the value in any of the organisation's existing units */
892
+ default_product_privacy?: OrganisationPatchBodyBodyDefaultProductPrivacy;
893
+ };
894
+
895
+ /**
896
+ * The new default **Product** privacy applied to all products that belong to this Unit. Privacy is also controlled at the **Organisation** level. As an example, the Unit can declare its Products to be `DEFAULT_PRIVATE`, but the Organisation can declare its value to be `DEFAULT_PUBLIC`.
897
+
898
+ Whether the privacy can be honoured will depend on the organisation's value
899
+ */
900
+ export type UnitPatchBodyBodyDefaultProductPrivacy =
901
+ (typeof UnitPatchBodyBodyDefaultProductPrivacy)[keyof typeof UnitPatchBodyBodyDefaultProductPrivacy];
902
+
903
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
904
+ export const UnitPatchBodyBodyDefaultProductPrivacy = {
905
+ ALWAYS_PUBLIC: "ALWAYS_PUBLIC",
906
+ ALWAYS_PRIVATE: "ALWAYS_PRIVATE",
907
+ DEFAULT_PUBLIC: "DEFAULT_PUBLIC",
908
+ DEFAULT_PRIVATE: "DEFAULT_PRIVATE",
909
+ } as const;
994
910
 
995
- export interface PersonalUnitPutResponse {
996
- /** The unit's Organisation. Used to identify the Default organisation */
997
- organisation_id: string;
998
- /** The unit's unique ID */
999
- id: string;
1000
- }
911
+ export type UnitPatchBodyBody = {
912
+ /** The new name for the Unit */
913
+ name?: string;
914
+ /** The new default **Product** privacy applied to all products that belong to this Unit. Privacy is also controlled at the **Organisation** level. As an example, the Unit can declare its Products to be `DEFAULT_PRIVATE`, but the Organisation can declare its value to be `DEFAULT_PUBLIC`.
1001
915
 
1002
- export interface OrganisationUnitPostResponse {
1003
- /** The unit's unique ID */
1004
- id: string;
1005
- }
916
+ Whether the privacy can be honoured will depend on the organisation's value */
917
+ default_product_privacy?: UnitPatchBodyBodyDefaultProductPrivacy;
918
+ };
1006
919
 
1007
920
  /**
1008
- * The Organisation's default product privacy setting
921
+ * The Type of Product. Storage subscriptions require an **Allowance** to be defined and the **Flavour** must not be provided.
922
+
923
+ Project Tier subscriptions have built-in allowances and Limits so you must not provide values for these for these products
1009
924
  */
1010
- export type OrganisationGetDefaultResponseDefaultProductPrivacy = typeof OrganisationGetDefaultResponseDefaultProductPrivacy[keyof typeof OrganisationGetDefaultResponseDefaultProductPrivacy];
925
+ export type UnitProductPostBodyBodyType =
926
+ (typeof UnitProductPostBodyBodyType)[keyof typeof UnitProductPostBodyBodyType];
927
+
928
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
929
+ export const UnitProductPostBodyBodyType = {
930
+ DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION: "DATA_MANAGER_PROJECT_TIER_SUBSCRIPTION",
931
+ DATA_MANAGER_STORAGE_SUBSCRIPTION: "DATA_MANAGER_STORAGE_SUBSCRIPTION",
932
+ } as const;
1011
933
 
934
+ /**
935
+ * The Flavour of the Product. Used only for Project Tier Products. Do not set this for Storage products
936
+ */
937
+ export type UnitProductPostBodyBodyFlavour =
938
+ (typeof UnitProductPostBodyBodyFlavour)[keyof typeof UnitProductPostBodyBodyFlavour];
1012
939
 
1013
940
  // eslint-disable-next-line @typescript-eslint/no-redeclare
1014
- export const OrganisationGetDefaultResponseDefaultProductPrivacy = {
1015
- ALWAYS_PUBLIC: 'ALWAYS_PUBLIC',
1016
- ALWAYS_PRIVATE: 'ALWAYS_PRIVATE',
1017
- DEFAULT_PUBLIC: 'DEFAULT_PUBLIC',
1018
- DEFAULT_PRIVATE: 'DEFAULT_PRIVATE',
941
+ export const UnitProductPostBodyBodyFlavour = {
942
+ EVALUATION: "EVALUATION",
943
+ BRONZE: "BRONZE",
944
+ SILVER: "SILVER",
945
+ GOLD: "GOLD",
1019
946
  } as const;
1020
947
 
1021
- export interface OrganisationGetDefaultResponse {
1022
- /** Whether the user making the API call is a member of the Default Organisation. Only admin users are members of the Default organisation */
1023
- caller_is_member?: boolean;
1024
- /** The Default Organisation ID
948
+ export type UnitProductPostBodyBody = {
949
+ /**
950
+ * The name you want to give the Product
951
+ * @maxLength 80
952
+ */
953
+ name: string;
954
+ /** The Type of Product. Storage subscriptions require an **Allowance** to be defined and the **Flavour** must not be provided.
955
+
956
+ Project Tier subscriptions have built-in allowances and Limits so you must not provide values for these for these products */
957
+ type: UnitProductPostBodyBodyType;
958
+ /** The Flavour of the Product. Used only for Project Tier Products. Do not set this for Storage products */
959
+ flavour?: UnitProductPostBodyBodyFlavour;
960
+ /**
961
+ * The Product's coin allowance. You must provide this for Storage products but you must not provide a value for Project Tier Products
962
+ * @minimum 1
963
+ */
964
+ allowance?: number;
965
+ /**
966
+ * The Product's built-in coin limit. If set it must not be less than the allowance. If not set the allowance is used. You can provide this for Storage products but you must not provide a value for Project Tier Products
967
+ * @minimum 1
968
+ */
969
+ limit?: number;
970
+ };
971
+
972
+ export type ProductPatchBodyBody = {
973
+ /**
974
+ * The name you want to give the Product
975
+ * @maxLength 80
976
+ */
977
+ name?: string;
978
+ /**
979
+ * The Product's built-in coin allowance. Product allowances cannot be reduced
980
+ * @minimum 1
981
+ */
982
+ allowance?: number;
983
+ /**
984
+ * The Product's built-in coin limit. If set it must not be less than the allowance. If not set the allowance is used. The existing product limit cannot be reduced
985
+ * @minimum 1
986
+ */
987
+ limit?: number;
988
+ };
989
+
990
+ /**
991
+ * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
1025
992
  */
1026
- id?: string;
1027
- /** The Default Organisation Name
993
+ export type QPbpParameter = number;
994
+
995
+ /**
996
+ * An Organisation Identity
1028
997
  */
1029
- name?: string;
1030
- /** True if the Organisation is private. The Default organisation is always public, although it does not contain a membership (unless you're admin) and only houses Personal Units
998
+ export type QOrgIdParameter = string;
999
+
1000
+ /**
1001
+ * A Merchant Identity
1031
1002
  */
1032
- private?: boolean;
1033
- created?: string;
1034
- /** The Organisation's default product privacy setting */
1035
- default_product_privacy?: OrganisationGetDefaultResponseDefaultProductPrivacy;
1036
- }
1003
+ export type QMIdParameter = number;
1037
1004
 
1038
- export interface UsersGetResponse {
1039
- count: number;
1040
- organisation?: OrganisationDetail;
1041
- unit?: UnitDetail;
1042
- /** The list of Organisation Users
1005
+ /**
1006
+ * An object name
1043
1007
  */
1044
- users: UserDetail[];
1045
- }
1008
+ export type QNameParameter = string;
1046
1009
 
1047
- export interface OrganisationPostResponse {
1048
- /** The Organisation's unique ID */
1049
- id: string;
1050
- }
1010
+ /**
1011
+ * A Unit Identity
1012
+ */
1013
+ export type QUnitIdParameter = string;
1051
1014
 
1052
- export interface StateGetVersionResponse {
1053
- /** The Account Server version. This is guaranteed to be a valid semantic version for official (tagged) images. The version value format for unofficial images is a string but otherwise undefined
1015
+ /**
1016
+ * A Product Identity
1054
1017
  */
1055
- version: string;
1056
- }
1018
+ export type QProductIdParameter = string;
1057
1019
 
1058
1020
  /**
1059
- * The Event Stream protocol, used to inform the client how to connect to given locations and handle events. At the moment the AS only supports web-sockets.
1021
+ * A User Identity
1060
1022
  */
1061
- export type EventStreamVersionGetResponseProtocol = typeof EventStreamVersionGetResponseProtocol[keyof typeof EventStreamVersionGetResponseProtocol];
1023
+ export type QUserIdParameter = string;
1062
1024
 
1025
+ export type QFormatParameter = (typeof QFormatParameter)[keyof typeof QFormatParameter];
1063
1026
 
1064
1027
  // eslint-disable-next-line @typescript-eslint/no-redeclare
1065
- export const EventStreamVersionGetResponseProtocol = {
1066
- ERROR_INTERNAL: 'ERROR_INTERNAL',
1067
- SERVICE_NOT_PRESENT: 'SERVICE_NOT_PRESENT',
1068
- WEBSOCKET: 'WEBSOCKET',
1028
+ export const QFormatParameter = {
1029
+ PROTOCOL_STRING: "PROTOCOL_STRING",
1030
+ JSON_STRING: "JSON_STRING",
1069
1031
  } as const;
1070
1032
 
1071
- export interface EventStreamVersionGetResponse {
1072
- /** The EventStream implementation version */
1073
- version: string;
1074
- /** The Event Stream protocol, used to inform the client how to connect to given locations and handle events. At the moment the AS only supports web-sockets. */
1075
- protocol: EventStreamVersionGetResponseProtocol;
1076
- /** The name of the Event Stream implementation, often used to identify the service origin and implementation. */
1077
- name: string;
1078
- }
1033
+ /**
1034
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1035
+ */
1036
+ export type QFromParameter = string;
1079
1037
 
1080
- export interface EventStreamGetPostResponse {
1081
- /** The EventStream ID */
1082
- id: number;
1083
- /** The Event Stream location. This will be a URL where events can be fetched. The protocol is typically a WebSocket, but the protocol is defined by the specific Event Stream Service that has been deployed. */
1084
- location: string;
1085
- /** The Event Stream format. */
1086
- format: string;
1087
- }
1038
+ /**
1039
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1040
+ */
1041
+ export type QUntilParameter = string;
1088
1042
 
1089
- export interface ChargesGetResponse {
1090
- coins: string;
1091
- count: number;
1092
- summary: ChargeSummary[];
1093
- organisation_charges: OrganisationChargeSummary[];
1094
- }
1043
+ export type GetChargesParams = {
1044
+ /**
1045
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1046
+ */
1047
+ from?: QFromParameter;
1048
+ /**
1049
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1050
+ */
1051
+ until?: QUntilParameter;
1052
+ /**
1053
+ * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
1054
+ * @minimum -23
1055
+ * @maximum 0
1056
+ */
1057
+ pbp?: QPbpParameter;
1058
+ };
1095
1059
 
1096
- export interface AssetPostResponse {
1097
- /** The Asset ID
1098
- */
1099
- id: string;
1100
- }
1060
+ export type GetOrganisationChargesParams = {
1061
+ /**
1062
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1063
+ */
1064
+ from?: QFromParameter;
1065
+ /**
1066
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1067
+ */
1068
+ until?: QUntilParameter;
1069
+ /**
1070
+ * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
1071
+ * @minimum -23
1072
+ * @maximum 0
1073
+ */
1074
+ pbp?: QPbpParameter;
1075
+ };
1101
1076
 
1102
- export interface AssetGetResponse {
1103
- /** A list of Assets
1104
- */
1105
- assets: AssetDetail[];
1106
- /** The number of Assets returned
1107
- */
1108
- count: number;
1109
- }
1077
+ export type GetProductChargesParams = {
1078
+ /**
1079
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1080
+ */
1081
+ from?: QFromParameter;
1082
+ /**
1083
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1084
+ */
1085
+ until?: QUntilParameter;
1086
+ /**
1087
+ * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
1088
+ * @minimum -23
1089
+ * @maximum 0
1090
+ */
1091
+ pbp?: QPbpParameter;
1092
+ };
1110
1093
 
1111
- export type AssetGetByIdResponse = AssetDetail;
1094
+ export type GetUnitChargesParams = {
1095
+ /**
1096
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1097
+ */
1098
+ from?: QFromParameter;
1099
+ /**
1100
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1101
+ */
1102
+ until?: QUntilParameter;
1103
+ /**
1104
+ * A charge Prior Billing Period, 0 implies "current" and -23 is for the period 23 months ago.
1105
+ * @minimum -23
1106
+ * @maximum 0
1107
+ */
1108
+ pbp?: QPbpParameter;
1109
+ };
1112
1110
 
1113
- export interface AsError {
1114
- /** Brief error text that can be presented to the user */
1115
- error: string;
1116
- }
1111
+ export type GetOrganisationsParams = {
1112
+ /**
1113
+ * An object name
1114
+ */
1115
+ name?: QNameParameter;
1116
+ };
1117
+
1118
+ export type GetUnitsParams = {
1119
+ /**
1120
+ * An object name
1121
+ */
1122
+ name?: QNameParameter;
1123
+ };
1124
+
1125
+ export type GetAssetParams = {
1126
+ /**
1127
+ * A User Identity
1128
+ * @minLength 3
1129
+ * @maxLength 80
1130
+ * @pattern ^\w(?:\w*(?:[@.-]\w+)?)*$
1131
+ */
1132
+ user_id?: QUserIdParameter;
1133
+ /**
1134
+ * A Product Identity
1135
+ * @pattern ^product-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1136
+ */
1137
+ product_id?: QProductIdParameter;
1138
+ /**
1139
+ * A Unit Identity
1140
+ * @pattern ^unit-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1141
+ */
1142
+ unit_id?: QUnitIdParameter;
1143
+ /**
1144
+ * An Organisation Identity
1145
+ * @pattern ^org-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1146
+ */
1147
+ org_id?: QOrgIdParameter;
1148
+ };
1149
+
1150
+ export type AttachAssetParams = {
1151
+ /**
1152
+ * A Merchant Identity
1153
+ * @minimum 1
1154
+ */
1155
+ m_id?: QMIdParameter;
1156
+ };
1157
+
1158
+ export type DetachAssetParams = {
1159
+ /**
1160
+ * A Merchant Identity
1161
+ * @minimum 1
1162
+ */
1163
+ m_id?: QMIdParameter;
1164
+ };
1117
1165
 
1166
+ export type GetActionsParams = {
1167
+ /**
1168
+ * The required format for delivered content.
1169
+ */
1170
+ format?: QFormatParameter;
1171
+ /**
1172
+ * A date from which to retrieve assets. Any asset that occurs on ar after this date will be returned. UTC is assumed if no timezone is provided
1173
+ */
1174
+ from?: QFromParameter;
1175
+ /**
1176
+ * A Merchant Identity
1177
+ * @minimum 1
1178
+ */
1179
+ m_id?: QMIdParameter;
1180
+ /**
1181
+ * An Organisation Identity
1182
+ * @pattern ^org-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1183
+ */
1184
+ org_id?: QOrgIdParameter;
1185
+ /**
1186
+ * A Product Identity
1187
+ * @pattern ^product-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1188
+ */
1189
+ product_id?: QProductIdParameter;
1190
+ /**
1191
+ * A date where assets prior to this will be returned. Any asset that occurs prior this date will be returned. UTC is assumed if no timezone is provided
1192
+ */
1193
+ until?: QUntilParameter;
1194
+ /**
1195
+ * A Unit Identity
1196
+ * @pattern ^unit-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$
1197
+ */
1198
+ unit_id?: QUnitIdParameter;
1199
+ };