@blezgo/api-sdk 0.1.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/CHANGELOG.md +6 -0
- package/README.md +27 -0
- package/dist/account/client.d.ts +3 -0
- package/dist/account/client.d.ts.map +1 -0
- package/dist/account/client.js +3 -0
- package/dist/account/client.js.map +1 -0
- package/dist/account/generated.d.ts +2648 -0
- package/dist/account/generated.d.ts.map +1 -0
- package/dist/account/generated.js +6 -0
- package/dist/account/generated.js.map +1 -0
- package/dist/account/index.d.ts +2 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +2 -0
- package/dist/account/index.js.map +1 -0
- package/dist/admin/client.d.ts +3 -0
- package/dist/admin/client.d.ts.map +1 -0
- package/dist/admin/client.js +3 -0
- package/dist/admin/client.js.map +1 -0
- package/dist/admin/generated.d.ts +956 -0
- package/dist/admin/generated.d.ts.map +1 -0
- package/dist/admin/generated.js +6 -0
- package/dist/admin/generated.js.map +1 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/authentication/client.d.ts +3 -0
- package/dist/authentication/client.d.ts.map +1 -0
- package/dist/authentication/client.js +3 -0
- package/dist/authentication/client.js.map +1 -0
- package/dist/authentication/generated.d.ts +746 -0
- package/dist/authentication/generated.d.ts.map +1 -0
- package/dist/authentication/generated.js +6 -0
- package/dist/authentication/generated.js.map +1 -0
- package/dist/authentication/index.d.ts +2 -0
- package/dist/authentication/index.d.ts.map +1 -0
- package/dist/authentication/index.js +2 -0
- package/dist/authentication/index.js.map +1 -0
- package/dist/cache/client.d.ts +3 -0
- package/dist/cache/client.d.ts.map +1 -0
- package/dist/cache/client.js +3 -0
- package/dist/cache/client.js.map +1 -0
- package/dist/cache/generated.d.ts +3355 -0
- package/dist/cache/generated.d.ts.map +1 -0
- package/dist/cache/generated.js +6 -0
- package/dist/cache/generated.js.map +1 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/config/client.d.ts +3 -0
- package/dist/config/client.d.ts.map +1 -0
- package/dist/config/client.js +3 -0
- package/dist/config/client.js.map +1 -0
- package/dist/config/generated.d.ts +1150 -0
- package/dist/config/generated.d.ts.map +1 -0
- package/dist/config/generated.js +6 -0
- package/dist/config/generated.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -0
- package/dist/dashboard/client.d.ts +3 -0
- package/dist/dashboard/client.d.ts.map +1 -0
- package/dist/dashboard/client.js +3 -0
- package/dist/dashboard/client.js.map +1 -0
- package/dist/dashboard/generated.d.ts +4831 -0
- package/dist/dashboard/generated.d.ts.map +1 -0
- package/dist/dashboard/generated.js +6 -0
- package/dist/dashboard/generated.js.map +1 -0
- package/dist/dashboard/index.d.ts +2 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +2 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/errors/client.d.ts +3 -0
- package/dist/errors/client.d.ts.map +1 -0
- package/dist/errors/client.js +3 -0
- package/dist/errors/client.js.map +1 -0
- package/dist/errors/generated.d.ts +340 -0
- package/dist/errors/generated.d.ts.map +1 -0
- package/dist/errors/generated.js +6 -0
- package/dist/errors/generated.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/internationalization/client.d.ts +3 -0
- package/dist/internationalization/client.d.ts.map +1 -0
- package/dist/internationalization/client.js +3 -0
- package/dist/internationalization/client.js.map +1 -0
- package/dist/internationalization/generated.d.ts +587 -0
- package/dist/internationalization/generated.d.ts.map +1 -0
- package/dist/internationalization/generated.js +6 -0
- package/dist/internationalization/generated.js.map +1 -0
- package/dist/internationalization/index.d.ts +2 -0
- package/dist/internationalization/index.d.ts.map +1 -0
- package/dist/internationalization/index.js +2 -0
- package/dist/internationalization/index.js.map +1 -0
- package/dist/invitations/client.d.ts +3 -0
- package/dist/invitations/client.d.ts.map +1 -0
- package/dist/invitations/client.js +3 -0
- package/dist/invitations/client.js.map +1 -0
- package/dist/invitations/generated.d.ts +4019 -0
- package/dist/invitations/generated.d.ts.map +1 -0
- package/dist/invitations/generated.js +6 -0
- package/dist/invitations/generated.js.map +1 -0
- package/dist/invitations/index.d.ts +2 -0
- package/dist/invitations/index.d.ts.map +1 -0
- package/dist/invitations/index.js +2 -0
- package/dist/invitations/index.js.map +1 -0
- package/dist/registration/client.d.ts +3 -0
- package/dist/registration/client.d.ts.map +1 -0
- package/dist/registration/client.js +3 -0
- package/dist/registration/client.js.map +1 -0
- package/dist/registration/generated.d.ts +1010 -0
- package/dist/registration/generated.d.ts.map +1 -0
- package/dist/registration/generated.js +6 -0
- package/dist/registration/generated.js.map +1 -0
- package/dist/registration/index.d.ts +2 -0
- package/dist/registration/index.d.ts.map +1 -0
- package/dist/registration/index.js +2 -0
- package/dist/registration/index.js.map +1 -0
- package/dist/role/client.d.ts +3 -0
- package/dist/role/client.d.ts.map +1 -0
- package/dist/role/client.js +3 -0
- package/dist/role/client.js.map +1 -0
- package/dist/role/generated.d.ts +6324 -0
- package/dist/role/generated.d.ts.map +1 -0
- package/dist/role/generated.js +6 -0
- package/dist/role/generated.js.map +1 -0
- package/dist/role/index.d.ts +2 -0
- package/dist/role/index.d.ts.map +1 -0
- package/dist/role/index.js +2 -0
- package/dist/role/index.js.map +1 -0
- package/dist/tenant/client.d.ts +3 -0
- package/dist/tenant/client.d.ts.map +1 -0
- package/dist/tenant/client.js +3 -0
- package/dist/tenant/client.js.map +1 -0
- package/dist/tenant/generated.d.ts +8273 -0
- package/dist/tenant/generated.d.ts.map +1 -0
- package/dist/tenant/generated.js +6 -0
- package/dist/tenant/generated.js.map +1 -0
- package/dist/tenant/index.d.ts +2 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/index.js +2 -0
- package/dist/tenant/index.js.map +1 -0
- package/dist/tokens/client.d.ts +3 -0
- package/dist/tokens/client.d.ts.map +1 -0
- package/dist/tokens/client.js +3 -0
- package/dist/tokens/client.js.map +1 -0
- package/dist/tokens/generated.d.ts +528 -0
- package/dist/tokens/generated.d.ts.map +1 -0
- package/dist/tokens/generated.js +6 -0
- package/dist/tokens/generated.js.map +1 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +2 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/user/client.d.ts +3 -0
- package/dist/user/client.d.ts.map +1 -0
- package/dist/user/client.js +3 -0
- package/dist/user/client.js.map +1 -0
- package/dist/user/generated.d.ts +4350 -0
- package/dist/user/generated.d.ts.map +1 -0
- package/dist/user/generated.js +6 -0
- package/dist/user/generated.js.map +1 -0
- package/dist/user/index.d.ts +2 -0
- package/dist/user/index.d.ts.map +1 -0
- package/dist/user/index.js +2 -0
- package/dist/user/index.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,4831 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
export interface paths {
|
|
6
|
+
"/v1/dashboards/admin/templates": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* List Templates
|
|
15
|
+
* @description List all dashboard templates for the organization.
|
|
16
|
+
*
|
|
17
|
+
* **For**: Admins browsing available dashboard templates
|
|
18
|
+
* **Purpose**: Get paginated list of templates with filtering
|
|
19
|
+
*
|
|
20
|
+
* **Flow**:
|
|
21
|
+
* 1. Retrieves templates for organization
|
|
22
|
+
* 2. Filters by status if specified
|
|
23
|
+
* 3. Returns paginated results
|
|
24
|
+
* 4. Includes template metadata (name, creation date, status)
|
|
25
|
+
*
|
|
26
|
+
* **Query Parameters**:
|
|
27
|
+
* - status: Filter by status (active, archived, deleted) - default: active
|
|
28
|
+
* - limit: Number of results per page (1-500) - default: 100
|
|
29
|
+
* - offset: Pagination offset (0+) - default: 0
|
|
30
|
+
*
|
|
31
|
+
* **Authentication**: Required (JWT token with dashboard_template.view.all permission)
|
|
32
|
+
* **Headers**:
|
|
33
|
+
* - Authorization: Bearer <token>
|
|
34
|
+
*
|
|
35
|
+
* **Response**: Paginated list with:
|
|
36
|
+
* - templates: Array of template summaries
|
|
37
|
+
* - total_count: Total templates matching filter
|
|
38
|
+
* - limit: Items per page
|
|
39
|
+
* - offset: Current offset
|
|
40
|
+
*
|
|
41
|
+
* **Validation**:
|
|
42
|
+
* - Status must be: active, archived, or deleted
|
|
43
|
+
* - Limit must be between 1 and 500
|
|
44
|
+
*/
|
|
45
|
+
get: operations["listDashboardTemplates"];
|
|
46
|
+
put?: never;
|
|
47
|
+
/**
|
|
48
|
+
* Create Template
|
|
49
|
+
* @description Create a new dashboard template for the organization.
|
|
50
|
+
*
|
|
51
|
+
* **For**: Admins creating custom dashboard templates
|
|
52
|
+
* **Purpose**: Create reusable dashboard templates for organization
|
|
53
|
+
*
|
|
54
|
+
* **Example Request Body**:
|
|
55
|
+
* ```json
|
|
56
|
+
* {
|
|
57
|
+
* "template_name": "Executive Dashboard",
|
|
58
|
+
* "layout_config": {
|
|
59
|
+
* "schema_version": "1.0",
|
|
60
|
+
* "grid_columns": 12,
|
|
61
|
+
* "widgets": [...]
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* **Flow**:
|
|
67
|
+
* 1. Validates template name is unique within organization
|
|
68
|
+
* 2. Validates layout_config schema version
|
|
69
|
+
* 3. Validates widget references exist in widget library
|
|
70
|
+
* 4. Creates template record with external ID (dash_xxx)
|
|
71
|
+
* 5. Returns template ID and details
|
|
72
|
+
*
|
|
73
|
+
* **Required Fields**: template_name, layout_config (with schema_version)
|
|
74
|
+
* **Authentication**: Required (JWT token with dashboard_template.create.all permission)
|
|
75
|
+
* **Headers**:
|
|
76
|
+
* - Authorization: Bearer <token>
|
|
77
|
+
*
|
|
78
|
+
* **Response**: Template ID, external ID, and creation timestamp
|
|
79
|
+
* **Validation**:
|
|
80
|
+
* - Template name must be unique per organization
|
|
81
|
+
* - Layout config must include schema_version
|
|
82
|
+
* - All widget references must exist in library
|
|
83
|
+
*/
|
|
84
|
+
post: operations["createDashboardTemplate"];
|
|
85
|
+
delete?: never;
|
|
86
|
+
options?: never;
|
|
87
|
+
head?: never;
|
|
88
|
+
patch?: never;
|
|
89
|
+
trace?: never;
|
|
90
|
+
};
|
|
91
|
+
"/v1/dashboards/admin/templates/{template_id}": {
|
|
92
|
+
parameters: {
|
|
93
|
+
query?: never;
|
|
94
|
+
header?: never;
|
|
95
|
+
path?: never;
|
|
96
|
+
cookie?: never;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Get Template
|
|
100
|
+
* @description Get a specific dashboard template by ID.
|
|
101
|
+
*
|
|
102
|
+
* **For**: Admins viewing template details
|
|
103
|
+
* **Purpose**: Retrieve complete template configuration including layout
|
|
104
|
+
*
|
|
105
|
+
* **Flow**:
|
|
106
|
+
* 1. Validates template ID format (dash_xxx)
|
|
107
|
+
* 2. Retrieves template details from database
|
|
108
|
+
* 3. Returns template with layout configuration
|
|
109
|
+
* 4. Includes widget definitions and metadata
|
|
110
|
+
*
|
|
111
|
+
* **Path Parameters**: template_id (dashboard template external ID like dash_xxx)
|
|
112
|
+
* **Authentication**: Required (JWT token with dashboard_template.view.all permission)
|
|
113
|
+
* **Headers**:
|
|
114
|
+
* - Authorization: Bearer <token>
|
|
115
|
+
*
|
|
116
|
+
* **Response**: Complete template object with:
|
|
117
|
+
* - template_id: External ID
|
|
118
|
+
* - template_name: Template name
|
|
119
|
+
* - layout_config: Full layout configuration with widgets
|
|
120
|
+
* - status: Template status (active, archived, deleted)
|
|
121
|
+
* - created_at, updated_at: Timestamps
|
|
122
|
+
*
|
|
123
|
+
* **Validation**:
|
|
124
|
+
* - Template must exist
|
|
125
|
+
* - Template ID must be valid format (dash_xxx)
|
|
126
|
+
*/
|
|
127
|
+
get: operations["getDashboardTemplate"];
|
|
128
|
+
put?: never;
|
|
129
|
+
post?: never;
|
|
130
|
+
/**
|
|
131
|
+
* Delete Template
|
|
132
|
+
* @description Soft delete a dashboard template.
|
|
133
|
+
*
|
|
134
|
+
* **For**: Admins removing dashboard templates
|
|
135
|
+
* **Purpose**: Remove template from active use (preserves data)
|
|
136
|
+
*
|
|
137
|
+
* **Flow**:
|
|
138
|
+
* 1. Validates template exists and belongs to organization
|
|
139
|
+
* 2. Checks for active role assignments
|
|
140
|
+
* 3. Checks for dependent templates (parent relationships)
|
|
141
|
+
* 4. Marks template as deleted (soft delete)
|
|
142
|
+
* 5. Records deletion reason if provided
|
|
143
|
+
* 6. Returns deletion confirmation
|
|
144
|
+
*
|
|
145
|
+
* **Path Parameters**: template_id (dashboard template external ID like dash_xxx)
|
|
146
|
+
* **Request Body**: Optional deletion reason
|
|
147
|
+
* **Authentication**: Required (JWT token with dashboard_template.delete.all permission)
|
|
148
|
+
* **Headers**:
|
|
149
|
+
* - Authorization: Bearer <token>
|
|
150
|
+
*
|
|
151
|
+
* **Response**: Deletion confirmation with:
|
|
152
|
+
* - template_id: Deleted template ID
|
|
153
|
+
* - deleted: True
|
|
154
|
+
* - deleted_at: Deletion timestamp
|
|
155
|
+
*
|
|
156
|
+
* **Validation**:
|
|
157
|
+
* - Template must exist and belong to organization
|
|
158
|
+
* - Cannot delete if template has active role assignments
|
|
159
|
+
* - Cannot delete if template is parent to other templates
|
|
160
|
+
* - Soft delete preserves data for audit purposes
|
|
161
|
+
*/
|
|
162
|
+
delete: operations["deleteDashboardTemplate"];
|
|
163
|
+
options?: never;
|
|
164
|
+
head?: never;
|
|
165
|
+
/**
|
|
166
|
+
* Update Template
|
|
167
|
+
* @description Update an existing dashboard template.
|
|
168
|
+
*
|
|
169
|
+
* **For**: Admins modifying dashboard templates
|
|
170
|
+
* **Purpose**: Modify template configuration, layout, or settings
|
|
171
|
+
*
|
|
172
|
+
* **Flow**:
|
|
173
|
+
* 1. Validates template exists and belongs to organization
|
|
174
|
+
* 2. Validates update fields are allowed
|
|
175
|
+
* 3. If layout_config updated, validates schema version and widgets
|
|
176
|
+
* 4. Updates template record
|
|
177
|
+
* 5. Returns updated template details
|
|
178
|
+
*
|
|
179
|
+
* **Path Parameters**: template_id (dashboard template external ID like dash_xxx)
|
|
180
|
+
* **Request Body**: Partial update (only include fields to change)
|
|
181
|
+
* **Authentication**: Required (JWT token with dashboard_template.edit.all permission)
|
|
182
|
+
* **Headers**:
|
|
183
|
+
* - Authorization: Bearer <token>
|
|
184
|
+
*
|
|
185
|
+
* **Response**: Updated template with:
|
|
186
|
+
* - template_id: External ID
|
|
187
|
+
* - template_name: Updated name (if changed)
|
|
188
|
+
* - updated_at: Update timestamp
|
|
189
|
+
*
|
|
190
|
+
* **Validation**:
|
|
191
|
+
* - Template must exist and belong to organization
|
|
192
|
+
* - If template_name updated, must be unique
|
|
193
|
+
* - If layout_config updated, must include schema_version
|
|
194
|
+
* - All widget references must exist in library
|
|
195
|
+
*/
|
|
196
|
+
patch: operations["updateDashboardTemplate"];
|
|
197
|
+
trace?: never;
|
|
198
|
+
};
|
|
199
|
+
"/v1/dashboards/admin/role-assignments": {
|
|
200
|
+
parameters: {
|
|
201
|
+
query?: never;
|
|
202
|
+
header?: never;
|
|
203
|
+
path?: never;
|
|
204
|
+
cookie?: never;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* List Role Assignments
|
|
208
|
+
* @description List all dashboard role assignments for the organization.
|
|
209
|
+
*
|
|
210
|
+
* **For**: Admins viewing role-based dashboard configuration
|
|
211
|
+
* **Purpose**: View which dashboards are assigned to which roles
|
|
212
|
+
*
|
|
213
|
+
* **Flow**:
|
|
214
|
+
* 1. Retrieves all role assignments for organization
|
|
215
|
+
* 2. Includes template details for each assignment
|
|
216
|
+
* 3. Includes role information
|
|
217
|
+
* 4. Returns sorted list by priority (highest first)
|
|
218
|
+
*
|
|
219
|
+
* **Authentication**: Required (JWT token with dashboard_role_assignment.view.all permission)
|
|
220
|
+
* **Headers**:
|
|
221
|
+
* - Authorization: Bearer <token>
|
|
222
|
+
*
|
|
223
|
+
* **Response**: List of assignments with:
|
|
224
|
+
* - assignment_id: Internal assignment ID
|
|
225
|
+
* - template_id: Dashboard template external ID
|
|
226
|
+
* - template_name: Dashboard name
|
|
227
|
+
* - user_role_id: Role ID
|
|
228
|
+
* - priority: Assignment priority
|
|
229
|
+
* - created_at: Assignment creation timestamp
|
|
230
|
+
*
|
|
231
|
+
* **Validation**:
|
|
232
|
+
* - User must have dashboard_role_assignment.view.all permission
|
|
233
|
+
*/
|
|
234
|
+
get: operations["listRoleAssignments"];
|
|
235
|
+
put?: never;
|
|
236
|
+
/**
|
|
237
|
+
* Assign Template To Role
|
|
238
|
+
* @description Assign a dashboard template to a user role.
|
|
239
|
+
*
|
|
240
|
+
* **For**: Admins configuring role-based dashboard assignments
|
|
241
|
+
* **Purpose**: Configure which dashboard users see based on their role
|
|
242
|
+
*
|
|
243
|
+
* **Example Request Body**:
|
|
244
|
+
* ```json
|
|
245
|
+
* {
|
|
246
|
+
* "template_id": "dash_3W4X5Y6zA7B8cd9E",
|
|
247
|
+
* "user_role_id": 5,
|
|
248
|
+
* "priority": 10
|
|
249
|
+
* }
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* **Flow**:
|
|
253
|
+
* 1. Validates template exists and belongs to organization
|
|
254
|
+
* 2. Validates user role exists in organization
|
|
255
|
+
* 3. Checks for duplicate assignment (template + role combination)
|
|
256
|
+
* 4. Creates role assignment with specified priority
|
|
257
|
+
* 5. Logs audit trail for assignment
|
|
258
|
+
* 6. Returns assignment confirmation
|
|
259
|
+
*
|
|
260
|
+
* **Required Fields**: template_id, user_role_id
|
|
261
|
+
* **Optional Fields**: priority (default: 0)
|
|
262
|
+
* **Authentication**: Required (JWT token with dashboard_role_assignment.create.all permission)
|
|
263
|
+
* **Headers**:
|
|
264
|
+
* - Authorization: Bearer <token>
|
|
265
|
+
*
|
|
266
|
+
* **Response**: Assignment ID and details
|
|
267
|
+
* **Validation**:
|
|
268
|
+
* - Template must exist and belong to organization
|
|
269
|
+
* - Role must exist in organization
|
|
270
|
+
* - Priority determines resolution order (higher priority wins)
|
|
271
|
+
* - When a user has multiple roles, highest priority assignment is used
|
|
272
|
+
*/
|
|
273
|
+
post: operations["createDashboardRoleAssignment"];
|
|
274
|
+
delete?: never;
|
|
275
|
+
options?: never;
|
|
276
|
+
head?: never;
|
|
277
|
+
patch?: never;
|
|
278
|
+
trace?: never;
|
|
279
|
+
};
|
|
280
|
+
"/v1/dashboards/admin/role-assignments/{assignment_id}": {
|
|
281
|
+
parameters: {
|
|
282
|
+
query?: never;
|
|
283
|
+
header?: never;
|
|
284
|
+
path?: never;
|
|
285
|
+
cookie?: never;
|
|
286
|
+
};
|
|
287
|
+
get?: never;
|
|
288
|
+
put?: never;
|
|
289
|
+
post?: never;
|
|
290
|
+
/**
|
|
291
|
+
* Remove Role Assignment
|
|
292
|
+
* @description Remove a dashboard role assignment.
|
|
293
|
+
*
|
|
294
|
+
* **For**: Admins managing role-based dashboard assignments
|
|
295
|
+
* **Purpose**: Unassign a dashboard from a role
|
|
296
|
+
*
|
|
297
|
+
* **Flow**:
|
|
298
|
+
* 1. Validates assignment exists and belongs to organization
|
|
299
|
+
* 2. Captures assignment state for audit trail
|
|
300
|
+
* 3. Deletes role assignment record
|
|
301
|
+
* 4. Logs audit action with before/after state
|
|
302
|
+
* 5. Returns deletion confirmation
|
|
303
|
+
*
|
|
304
|
+
* **Path Parameters**: assignment_id (assignment record internal ID)
|
|
305
|
+
* **Authentication**: Required (JWT token with dashboard_role_assignment.delete.all permission)
|
|
306
|
+
* **Headers**:
|
|
307
|
+
* - Authorization: Bearer <token>
|
|
308
|
+
*
|
|
309
|
+
* **Response**: Assignment ID and deletion confirmation
|
|
310
|
+
* **Validation**:
|
|
311
|
+
* - Assignment must exist
|
|
312
|
+
* - Assignment must belong to organization
|
|
313
|
+
* - Audit logging is mandatory (RBAC requirement)
|
|
314
|
+
*
|
|
315
|
+
* **Effect**: Role will no longer have this dashboard assigned
|
|
316
|
+
* **Note**: Users with this role will fall back to next priority level in dashboard resolution
|
|
317
|
+
*/
|
|
318
|
+
delete: operations["deleteRoleAssignment"];
|
|
319
|
+
options?: never;
|
|
320
|
+
head?: never;
|
|
321
|
+
patch?: never;
|
|
322
|
+
trace?: never;
|
|
323
|
+
};
|
|
324
|
+
"/v1/dashboards/admin/widgets": {
|
|
325
|
+
parameters: {
|
|
326
|
+
query?: never;
|
|
327
|
+
header?: never;
|
|
328
|
+
path?: never;
|
|
329
|
+
cookie?: never;
|
|
330
|
+
};
|
|
331
|
+
/**
|
|
332
|
+
* List Available Widgets
|
|
333
|
+
* @description List all available widgets for the organization.
|
|
334
|
+
*
|
|
335
|
+
* **For**: Admins browsing widget library
|
|
336
|
+
* **Purpose**: Get complete widget library (global platform + org-specific custom widgets)
|
|
337
|
+
*
|
|
338
|
+
* **Flow**:
|
|
339
|
+
* 1. Retrieves global platform widgets (is_global=TRUE)
|
|
340
|
+
* 2. Retrieves organization-specific custom widgets
|
|
341
|
+
* 3. Combines both lists
|
|
342
|
+
* 4. Returns sorted widget library
|
|
343
|
+
*
|
|
344
|
+
* **Authentication**: Required (JWT token with dashboard_widget.view.all permission)
|
|
345
|
+
* **Headers**:
|
|
346
|
+
* - Authorization: Bearer <token>
|
|
347
|
+
*
|
|
348
|
+
* **Response**: Widget library with:
|
|
349
|
+
* - widgets: Array of widget definitions
|
|
350
|
+
* - total_count: Total widgets available
|
|
351
|
+
* - Each widget includes: widget_id, widget_key, widget_name, widget_type, is_global
|
|
352
|
+
*
|
|
353
|
+
* **Validation**:
|
|
354
|
+
* - User must have dashboard_widget.view.all permission
|
|
355
|
+
*/
|
|
356
|
+
get: operations["listAvailableWidgets"];
|
|
357
|
+
put?: never;
|
|
358
|
+
/**
|
|
359
|
+
* Create Custom Widget
|
|
360
|
+
* @description Create a custom widget for the organization.
|
|
361
|
+
*
|
|
362
|
+
* **For**: Admins creating organization-specific widgets
|
|
363
|
+
* **Purpose**: Add custom widgets to org widget library
|
|
364
|
+
*
|
|
365
|
+
* **Example Request Body**:
|
|
366
|
+
* ```json
|
|
367
|
+
* {
|
|
368
|
+
* "widget_key": "custom_metric",
|
|
369
|
+
* "widget_name": "Custom Metric",
|
|
370
|
+
* "widget_type": "metric",
|
|
371
|
+
* "provider_key": "CustomDataProvider.get_metric",
|
|
372
|
+
* "default_config": {"date_range": "30d"}
|
|
373
|
+
* }
|
|
374
|
+
* ```
|
|
375
|
+
*
|
|
376
|
+
* **Flow**:
|
|
377
|
+
* 1. Validates widget_key is unique within organization
|
|
378
|
+
* 2. Validates widget_type is valid (metric, chart, table, list, alert)
|
|
379
|
+
* 3. Validates provider_key format (ProviderClass.method_name)
|
|
380
|
+
* 4. Creates widget record with external ID (wdg_xxx)
|
|
381
|
+
* 5. Registers widget in library
|
|
382
|
+
* 6. Returns widget ID and details
|
|
383
|
+
*
|
|
384
|
+
* **Required Fields**: widget_key, widget_name, widget_type, provider_key
|
|
385
|
+
* **Optional Fields**: default_config, description, icon
|
|
386
|
+
* **Provider Key Format**: ProviderClass.method_name
|
|
387
|
+
* **Authentication**: Required (JWT token with dashboard_widget.manage.all permission)
|
|
388
|
+
* **Headers**:
|
|
389
|
+
* - Authorization: Bearer <token>
|
|
390
|
+
*
|
|
391
|
+
* **Response**: Widget ID, external ID, and creation confirmation
|
|
392
|
+
* **Validation**:
|
|
393
|
+
* - widget_key must be unique per organization
|
|
394
|
+
* - widget_type must be: metric, chart, table, list, or alert
|
|
395
|
+
* - provider_key must reference valid data provider method
|
|
396
|
+
*/
|
|
397
|
+
post: operations["createCustomWidget"];
|
|
398
|
+
delete?: never;
|
|
399
|
+
options?: never;
|
|
400
|
+
head?: never;
|
|
401
|
+
patch?: never;
|
|
402
|
+
trace?: never;
|
|
403
|
+
};
|
|
404
|
+
"/v1/dashboards/admin/widgets/{widget_id}": {
|
|
405
|
+
parameters: {
|
|
406
|
+
query?: never;
|
|
407
|
+
header?: never;
|
|
408
|
+
path?: never;
|
|
409
|
+
cookie?: never;
|
|
410
|
+
};
|
|
411
|
+
get?: never;
|
|
412
|
+
put?: never;
|
|
413
|
+
post?: never;
|
|
414
|
+
/**
|
|
415
|
+
* Delete Custom Widget
|
|
416
|
+
* @description Delete a custom widget (soft delete).
|
|
417
|
+
*
|
|
418
|
+
* **For**: Admins removing organization-specific widgets
|
|
419
|
+
* **Purpose**: Remove custom widget from library
|
|
420
|
+
*
|
|
421
|
+
* **Flow**:
|
|
422
|
+
* 1. Validates widget exists and belongs to organization
|
|
423
|
+
* 2. Checks widget is NOT global (only org widgets can be deleted)
|
|
424
|
+
* 3. Marks widget as deleted (soft delete)
|
|
425
|
+
* 4. Returns deletion confirmation
|
|
426
|
+
*
|
|
427
|
+
* **Path Parameters**: widget_id (widget external ID like wdg_xxx)
|
|
428
|
+
* **Authentication**: Required (JWT token with dashboard_widget.manage.all permission)
|
|
429
|
+
* **Headers**:
|
|
430
|
+
* - Authorization: Bearer <token>
|
|
431
|
+
*
|
|
432
|
+
* **Response**: Deletion confirmation with:
|
|
433
|
+
* - widget_id: Deleted widget ID
|
|
434
|
+
* - deleted: True
|
|
435
|
+
*
|
|
436
|
+
* **Validation**:
|
|
437
|
+
* - Widget must exist and belong to organization
|
|
438
|
+
* - Cannot delete global platform widgets (is_global=TRUE)
|
|
439
|
+
* - Soft delete preserves data for audit purposes
|
|
440
|
+
*
|
|
441
|
+
* **Note**: Dashboards using this widget will need to be updated manually
|
|
442
|
+
*/
|
|
443
|
+
delete: operations["deleteCustomWidget"];
|
|
444
|
+
options?: never;
|
|
445
|
+
head?: never;
|
|
446
|
+
/**
|
|
447
|
+
* Update Custom Widget
|
|
448
|
+
* @description Update a custom widget.
|
|
449
|
+
*
|
|
450
|
+
* **For**: Admins modifying organization-specific widgets
|
|
451
|
+
* **Purpose**: Modify custom widget configuration
|
|
452
|
+
*
|
|
453
|
+
* **Flow**:
|
|
454
|
+
* 1. Validates widget exists and belongs to organization
|
|
455
|
+
* 2. Checks widget is NOT global (only org widgets can be updated)
|
|
456
|
+
* 3. Validates update fields
|
|
457
|
+
* 4. Updates widget record
|
|
458
|
+
* 5. Returns updated widget details
|
|
459
|
+
*
|
|
460
|
+
* **Path Parameters**: widget_id (widget external ID like wdg_xxx)
|
|
461
|
+
* **Request Body**: Partial update (only include fields to change)
|
|
462
|
+
* **Authentication**: Required (JWT token with dashboard_widget.manage.all permission)
|
|
463
|
+
* **Headers**:
|
|
464
|
+
* - Authorization: Bearer <token>
|
|
465
|
+
*
|
|
466
|
+
* **Response**: Updated widget with:
|
|
467
|
+
* - widget_id: External ID
|
|
468
|
+
* - widget_key, widget_name: Updated values
|
|
469
|
+
* - updated_at: Update timestamp
|
|
470
|
+
*
|
|
471
|
+
* **Validation**:
|
|
472
|
+
* - Widget must exist and belong to organization
|
|
473
|
+
* - Cannot update global platform widgets (is_global=TRUE)
|
|
474
|
+
* - If widget_key updated, must be unique
|
|
475
|
+
* - If provider_key updated, must be valid format
|
|
476
|
+
*
|
|
477
|
+
* **Note**: Global platform widgets are immutable
|
|
478
|
+
*/
|
|
479
|
+
patch: operations["updateCustomWidget"];
|
|
480
|
+
trace?: never;
|
|
481
|
+
};
|
|
482
|
+
"/v1/me/dashboard": {
|
|
483
|
+
parameters: {
|
|
484
|
+
query?: never;
|
|
485
|
+
header?: never;
|
|
486
|
+
path?: never;
|
|
487
|
+
cookie?: never;
|
|
488
|
+
};
|
|
489
|
+
/**
|
|
490
|
+
* Get My Dashboard
|
|
491
|
+
* @description Get the user's dashboard with 5-step priority resolution.
|
|
492
|
+
*
|
|
493
|
+
* **For**: Users accessing their personalized dashboard
|
|
494
|
+
* **Purpose**: Retrieve dashboard configuration with automatic priority resolution
|
|
495
|
+
*
|
|
496
|
+
* **Flow**:
|
|
497
|
+
* 1. Applies 5-step priority resolution (see below)
|
|
498
|
+
* 2. Retrieves dashboard template
|
|
499
|
+
* 3. Applies user customizations if any
|
|
500
|
+
* 4. Updates last_viewed_at timestamp
|
|
501
|
+
* 5. Returns complete dashboard configuration
|
|
502
|
+
*
|
|
503
|
+
* **Resolution Order** (highest to lowest priority):
|
|
504
|
+
* 1. User Preference (custom template selection)
|
|
505
|
+
* 2. Sub-Tenant Override (if parent allows)
|
|
506
|
+
* 3. Role Assignment (highest priority role)
|
|
507
|
+
* 4. Org Default Template (is_default=TRUE)
|
|
508
|
+
* 5. Platform Global Template (is_global=TRUE)
|
|
509
|
+
*
|
|
510
|
+
* **Authentication**: Required (JWT token with dashboard.view.own permission)
|
|
511
|
+
* **Headers**:
|
|
512
|
+
* - Authorization: Bearer <token>
|
|
513
|
+
*
|
|
514
|
+
* **Response**: Dashboard configuration with:
|
|
515
|
+
* - dashboard_id: Template ID used
|
|
516
|
+
* - dashboard_name: Template name
|
|
517
|
+
* - is_customized: Whether user has customizations
|
|
518
|
+
* - inheritance_chain: Resolution path taken
|
|
519
|
+
* - layout_config: Dashboard layout with widgets
|
|
520
|
+
* - last_viewed_at: Last access timestamp
|
|
521
|
+
*
|
|
522
|
+
* **Side Effects**: Updates last_viewed_at timestamp for analytics
|
|
523
|
+
*
|
|
524
|
+
* **Validation**:
|
|
525
|
+
* - User must be authenticated
|
|
526
|
+
* - Falls back through priority chain until dashboard found
|
|
527
|
+
*/
|
|
528
|
+
get: operations["getDashboard"];
|
|
529
|
+
put?: never;
|
|
530
|
+
post?: never;
|
|
531
|
+
delete?: never;
|
|
532
|
+
options?: never;
|
|
533
|
+
head?: never;
|
|
534
|
+
/**
|
|
535
|
+
* Customize Dashboard
|
|
536
|
+
* @description Save user dashboard customizations.
|
|
537
|
+
*
|
|
538
|
+
* **For**: Users personalizing their dashboard layout
|
|
539
|
+
* **Purpose**: Persist user-specific dashboard modifications
|
|
540
|
+
*
|
|
541
|
+
* **Example Request Body**:
|
|
542
|
+
* ```json
|
|
543
|
+
* {
|
|
544
|
+
* "schema_version": "1.0",
|
|
545
|
+
* "hidden_widgets": ["wdg_abc123"],
|
|
546
|
+
* "widget_overrides": {
|
|
547
|
+
* "wdg_def456": {
|
|
548
|
+
* "position": {"row": 1, "col": 0, "width": 6, "height": 3},
|
|
549
|
+
* "config": {"date_range": "7d"}
|
|
550
|
+
* }
|
|
551
|
+
* }
|
|
552
|
+
* }
|
|
553
|
+
* ```
|
|
554
|
+
*
|
|
555
|
+
* **Flow**:
|
|
556
|
+
* 1. Validates schema version is "1.0"
|
|
557
|
+
* 2. Validates widget references exist
|
|
558
|
+
* 3. Saves customization to user preferences
|
|
559
|
+
* 4. Returns confirmation
|
|
560
|
+
*
|
|
561
|
+
* **Customization Options**:
|
|
562
|
+
* - hidden_widgets: List of widget IDs to hide
|
|
563
|
+
* - widget_overrides: Modify widget position/config
|
|
564
|
+
* - added_widgets: Add custom widgets
|
|
565
|
+
*
|
|
566
|
+
* **Required Fields**: schema_version
|
|
567
|
+
* **Optional Fields**: hidden_widgets, widget_overrides, added_widgets
|
|
568
|
+
* **Authentication**: Required (JWT token with dashboard.customize.own permission)
|
|
569
|
+
* **Headers**:
|
|
570
|
+
* - Authorization: Bearer <token>
|
|
571
|
+
*
|
|
572
|
+
* **Response**: Customization confirmation
|
|
573
|
+
* **Validation**:
|
|
574
|
+
* - Schema version must be "1.0"
|
|
575
|
+
* - All widget references must exist in library
|
|
576
|
+
* - Widget positions must not overlap (validation happens client-side)
|
|
577
|
+
*/
|
|
578
|
+
patch: operations["updateDashboard"];
|
|
579
|
+
trace?: never;
|
|
580
|
+
};
|
|
581
|
+
"/v1/me/dashboard/resets": {
|
|
582
|
+
parameters: {
|
|
583
|
+
query?: never;
|
|
584
|
+
header?: never;
|
|
585
|
+
path?: never;
|
|
586
|
+
cookie?: never;
|
|
587
|
+
};
|
|
588
|
+
get?: never;
|
|
589
|
+
put?: never;
|
|
590
|
+
/**
|
|
591
|
+
* Reset Dashboard
|
|
592
|
+
* @description Reset dashboard to default (remove all customizations).
|
|
593
|
+
*
|
|
594
|
+
* **For**: Users reverting to default dashboard layout
|
|
595
|
+
* **Purpose**: Restore dashboard to org/role default settings
|
|
596
|
+
*
|
|
597
|
+
* **Flow**:
|
|
598
|
+
* 1. Deletes all user customizations
|
|
599
|
+
* 2. Clears user preference settings
|
|
600
|
+
* 3. Returns confirmation
|
|
601
|
+
* 4. Next GET request will resolve through priority chain
|
|
602
|
+
*
|
|
603
|
+
* **Authentication**: Required (JWT token with dashboard.customize.own permission)
|
|
604
|
+
* **Headers**:
|
|
605
|
+
* - Authorization: Bearer <token>
|
|
606
|
+
*
|
|
607
|
+
* **Response**: Reset confirmation
|
|
608
|
+
* **Effect**:
|
|
609
|
+
* - Deletes all user customizations (hidden widgets, overrides)
|
|
610
|
+
* - Next GET will resolve to role/org/global default
|
|
611
|
+
* - Preserves last_viewed_at history for analytics
|
|
612
|
+
*
|
|
613
|
+
* **Validation**:
|
|
614
|
+
* - User must be authenticated
|
|
615
|
+
* - No request body required
|
|
616
|
+
*/
|
|
617
|
+
post: operations["resetDashboard"];
|
|
618
|
+
delete?: never;
|
|
619
|
+
options?: never;
|
|
620
|
+
head?: never;
|
|
621
|
+
patch?: never;
|
|
622
|
+
trace?: never;
|
|
623
|
+
};
|
|
624
|
+
"/v1/me/dashboard/exports": {
|
|
625
|
+
parameters: {
|
|
626
|
+
query?: never;
|
|
627
|
+
header?: never;
|
|
628
|
+
path?: never;
|
|
629
|
+
cookie?: never;
|
|
630
|
+
};
|
|
631
|
+
get?: never;
|
|
632
|
+
put?: never;
|
|
633
|
+
/**
|
|
634
|
+
* Export Dashboard
|
|
635
|
+
* @description Export dashboard to PDF or Excel.
|
|
636
|
+
*
|
|
637
|
+
* **For**: Users exporting their dashboard data
|
|
638
|
+
* **Purpose**: Generate downloadable dashboard report
|
|
639
|
+
*
|
|
640
|
+
* **Example Request Body**:
|
|
641
|
+
* ```json
|
|
642
|
+
* {
|
|
643
|
+
* "format": "pdf",
|
|
644
|
+
* "include_data": true
|
|
645
|
+
* }
|
|
646
|
+
* ```
|
|
647
|
+
*
|
|
648
|
+
* **Flow** (Planned for Phase 8):
|
|
649
|
+
* 1. Retrieves user dashboard configuration
|
|
650
|
+
* 2. Fetches current widget data
|
|
651
|
+
* 3. Generates export file in requested format
|
|
652
|
+
* 4. Returns download URL or file stream
|
|
653
|
+
*
|
|
654
|
+
* **Supported Formats**:
|
|
655
|
+
* - pdf: PDF document with dashboard layout
|
|
656
|
+
* - excel: Excel spreadsheet with widget data
|
|
657
|
+
*
|
|
658
|
+
* **Required Fields**: format
|
|
659
|
+
* **Optional Fields**: include_data
|
|
660
|
+
* **Authentication**: Required (JWT token with dashboard.export.own permission)
|
|
661
|
+
* **Headers**:
|
|
662
|
+
* - Authorization: Bearer <token>
|
|
663
|
+
*
|
|
664
|
+
* **Response**: Export details (currently placeholder)
|
|
665
|
+
* **Note**: This is a placeholder implementation. Phase 8 will add actual export logic.
|
|
666
|
+
*
|
|
667
|
+
* **Validation**:
|
|
668
|
+
* - Format must be: pdf or excel
|
|
669
|
+
* - User must have access to dashboard
|
|
670
|
+
*/
|
|
671
|
+
post: operations["exportDashboard"];
|
|
672
|
+
delete?: never;
|
|
673
|
+
options?: never;
|
|
674
|
+
head?: never;
|
|
675
|
+
patch?: never;
|
|
676
|
+
trace?: never;
|
|
677
|
+
};
|
|
678
|
+
"/v1/me/dashboard/widgets/{widget_key}": {
|
|
679
|
+
parameters: {
|
|
680
|
+
query?: never;
|
|
681
|
+
header?: never;
|
|
682
|
+
path?: never;
|
|
683
|
+
cookie?: never;
|
|
684
|
+
};
|
|
685
|
+
/**
|
|
686
|
+
* Get Widget Data
|
|
687
|
+
* @description Get data for a specific widget (SINGLE CANONICAL PATH).
|
|
688
|
+
*
|
|
689
|
+
* **For**: Users fetching widget data for dashboard display
|
|
690
|
+
* **Purpose**: Fetch widget data with automatic caching and permission filtering
|
|
691
|
+
*
|
|
692
|
+
* **Flow**:
|
|
693
|
+
* 1. Checks cache for widget data (cache key includes config)
|
|
694
|
+
* 2. If cache HIT: Returns cached data
|
|
695
|
+
* 3. If cache MISS: Calls data provider, caches result, returns data
|
|
696
|
+
* 4. Applies user permissions filtering
|
|
697
|
+
* 5. Returns widget data
|
|
698
|
+
*
|
|
699
|
+
* **Path Parameters**: widget_key (e.g., 'total_revenue', 'order_count', 'top_products')
|
|
700
|
+
* **Query Parameters**:
|
|
701
|
+
* - date_range: Predefined range (today, 7d, 30d, 90d, 1y, all) - optional
|
|
702
|
+
* - start_date: Custom start date (ISO: YYYY-MM-DD) - optional
|
|
703
|
+
* - end_date: Custom end date (ISO: YYYY-MM-DD) - optional
|
|
704
|
+
* - limit: Result limit for list widgets (1-1000) - default: 10
|
|
705
|
+
* - company_id: Filter by company - optional
|
|
706
|
+
* - space_id: Filter by space - optional
|
|
707
|
+
*
|
|
708
|
+
* **Authentication**: Required (JWT token with dashboard.view.own permission)
|
|
709
|
+
* **Headers**:
|
|
710
|
+
* - Authorization: Bearer <token>
|
|
711
|
+
*
|
|
712
|
+
* **Response**: Widget data with type-specific structure
|
|
713
|
+
* **Cache Behavior**:
|
|
714
|
+
* - Cache HIT: Returns cached data (TTL varies by widget type)
|
|
715
|
+
* - Cache MISS: Fetches fresh data, caches it, returns data
|
|
716
|
+
* - cache_status is NOT included in response (internal optimization)
|
|
717
|
+
*
|
|
718
|
+
* **Widget Types & Cache TTL**:
|
|
719
|
+
* - metric: 60 seconds
|
|
720
|
+
* - chart: 5 minutes (300s)
|
|
721
|
+
* - table: 30 seconds
|
|
722
|
+
* - list: 60 seconds
|
|
723
|
+
* - alert: 2 minutes (120s)
|
|
724
|
+
*
|
|
725
|
+
* **Example**: `/v1/dashboards/widgets/total_revenue?date_range=30d&company_id=5`
|
|
726
|
+
*
|
|
727
|
+
* **Validation**:
|
|
728
|
+
* - Widget must exist in library
|
|
729
|
+
* - User must have permission to view widget data
|
|
730
|
+
* - Date range or start/end dates can be specified (not both)
|
|
731
|
+
*/
|
|
732
|
+
get: operations["getWidget"];
|
|
733
|
+
put?: never;
|
|
734
|
+
post?: never;
|
|
735
|
+
delete?: never;
|
|
736
|
+
options?: never;
|
|
737
|
+
head?: never;
|
|
738
|
+
patch?: never;
|
|
739
|
+
trace?: never;
|
|
740
|
+
};
|
|
741
|
+
"/v1/me/dashboard/widgets/{widget_key}/cache": {
|
|
742
|
+
parameters: {
|
|
743
|
+
query?: never;
|
|
744
|
+
header?: never;
|
|
745
|
+
path?: never;
|
|
746
|
+
cookie?: never;
|
|
747
|
+
};
|
|
748
|
+
get?: never;
|
|
749
|
+
put?: never;
|
|
750
|
+
post?: never;
|
|
751
|
+
/**
|
|
752
|
+
* Refresh Widget Cache
|
|
753
|
+
* @description Force refresh widget cache (invalidate and fetch fresh data).
|
|
754
|
+
*
|
|
755
|
+
* **For**: Users requesting real-time widget data
|
|
756
|
+
* **Purpose**: Get latest data bypassing cache
|
|
757
|
+
*
|
|
758
|
+
* **Flow**:
|
|
759
|
+
* 1. Invalidates existing cache entry for widget+config
|
|
760
|
+
* 2. Fetches fresh data from data provider
|
|
761
|
+
* 3. Stores fresh data in cache with TTL
|
|
762
|
+
* 4. Returns fresh data to user
|
|
763
|
+
*
|
|
764
|
+
* **Path Parameters**: widget_key (widget identifier)
|
|
765
|
+
* **Query Parameters**: Same as GET endpoint
|
|
766
|
+
* - date_range, start_date, end_date, limit, company_id, space_id
|
|
767
|
+
*
|
|
768
|
+
* **Authentication**: Required (JWT token with dashboard.view.own permission)
|
|
769
|
+
* **Headers**:
|
|
770
|
+
* - Authorization: Bearer <token>
|
|
771
|
+
*
|
|
772
|
+
* **Response**: Fresh widget data
|
|
773
|
+
* **Use Cases**:
|
|
774
|
+
* - Real-time updates needed (after placing order, payment, etc.)
|
|
775
|
+
* - Suspicious cached data
|
|
776
|
+
* - After manual data modification
|
|
777
|
+
* - User explicitly requests refresh
|
|
778
|
+
*
|
|
779
|
+
* **Validation**:
|
|
780
|
+
* - Widget must exist in library
|
|
781
|
+
* - User must have permission to view widget
|
|
782
|
+
* - Same validation as GET endpoint
|
|
783
|
+
*
|
|
784
|
+
* **Note**: Use sparingly to avoid database load. Regular GET requests use cache efficiently.
|
|
785
|
+
*/
|
|
786
|
+
delete: operations["invalidateWidgetCache"];
|
|
787
|
+
options?: never;
|
|
788
|
+
head?: never;
|
|
789
|
+
patch?: never;
|
|
790
|
+
trace?: never;
|
|
791
|
+
};
|
|
792
|
+
}
|
|
793
|
+
export type webhooks = Record<string, never>;
|
|
794
|
+
export interface components {
|
|
795
|
+
schemas: {
|
|
796
|
+
/**
|
|
797
|
+
* TemplateCreateRequest
|
|
798
|
+
* @description Request model for creating dashboard template
|
|
799
|
+
* @example {
|
|
800
|
+
* "allow_child_override": true,
|
|
801
|
+
* "description": "Dashboard for executives with key metrics",
|
|
802
|
+
* "is_default": false,
|
|
803
|
+
* "layout_config": {
|
|
804
|
+
* "grid_columns": 12,
|
|
805
|
+
* "schema_version": "1.0",
|
|
806
|
+
* "widgets": [
|
|
807
|
+
* {
|
|
808
|
+
* "config": {
|
|
809
|
+
* "date_range": "30d"
|
|
810
|
+
* },
|
|
811
|
+
* "position": {
|
|
812
|
+
* "col": 0,
|
|
813
|
+
* "height": 2,
|
|
814
|
+
* "row": 0,
|
|
815
|
+
* "width": 4
|
|
816
|
+
* },
|
|
817
|
+
* "widget_id": "wdg_abc123",
|
|
818
|
+
* "widget_key": "total_revenue"
|
|
819
|
+
* }
|
|
820
|
+
* ]
|
|
821
|
+
* },
|
|
822
|
+
* "template_name": "Executive Dashboard",
|
|
823
|
+
* "template_type": "custom"
|
|
824
|
+
* }
|
|
825
|
+
*/
|
|
826
|
+
TemplateCreateRequest: {
|
|
827
|
+
/**
|
|
828
|
+
* Template Name
|
|
829
|
+
* @description Template name
|
|
830
|
+
*/
|
|
831
|
+
template_name: string;
|
|
832
|
+
/**
|
|
833
|
+
* Template Type
|
|
834
|
+
* @description Template type: global, org_default, custom
|
|
835
|
+
* @default custom
|
|
836
|
+
*/
|
|
837
|
+
template_type: string;
|
|
838
|
+
/**
|
|
839
|
+
* Description
|
|
840
|
+
* @description Template description
|
|
841
|
+
*/
|
|
842
|
+
description?: string | null;
|
|
843
|
+
/**
|
|
844
|
+
* Layout Config
|
|
845
|
+
* @description Dashboard layout configuration
|
|
846
|
+
*/
|
|
847
|
+
layout_config: {
|
|
848
|
+
[key: string]: unknown;
|
|
849
|
+
};
|
|
850
|
+
/**
|
|
851
|
+
* Is Default
|
|
852
|
+
* @description Set as org default template
|
|
853
|
+
* @default false
|
|
854
|
+
*/
|
|
855
|
+
is_default: boolean;
|
|
856
|
+
/**
|
|
857
|
+
* Is Global
|
|
858
|
+
* @description Global template (platform-wide)
|
|
859
|
+
* @default false
|
|
860
|
+
*/
|
|
861
|
+
is_global: boolean;
|
|
862
|
+
/**
|
|
863
|
+
* Allow Child Override
|
|
864
|
+
* @description Allow child tenants to override
|
|
865
|
+
* @default true
|
|
866
|
+
*/
|
|
867
|
+
allow_child_override: boolean;
|
|
868
|
+
/**
|
|
869
|
+
* Inherit From Template Id
|
|
870
|
+
* @description Parent template ID for inheritance
|
|
871
|
+
*/
|
|
872
|
+
inherit_from_template_id?: number | null;
|
|
873
|
+
};
|
|
874
|
+
/**
|
|
875
|
+
* DeleteTemplateRequest
|
|
876
|
+
* @description Request model for deleting dashboard template
|
|
877
|
+
*/
|
|
878
|
+
DeleteTemplateRequest: {
|
|
879
|
+
/**
|
|
880
|
+
* Deleted Reason
|
|
881
|
+
* @description Reason for deletion
|
|
882
|
+
*/
|
|
883
|
+
deleted_reason?: string | null;
|
|
884
|
+
};
|
|
885
|
+
Extensions: {
|
|
886
|
+
/** @example GENERIC_ERROR */
|
|
887
|
+
message_code?: string;
|
|
888
|
+
/** @example [] */
|
|
889
|
+
invalid_params?: components["schemas"]["InvalidParam"][];
|
|
890
|
+
extra_data?: Record<string, never> | null;
|
|
891
|
+
/** @example Detailed debug information */
|
|
892
|
+
debug?: string | null;
|
|
893
|
+
};
|
|
894
|
+
/**
|
|
895
|
+
* WidgetCreateRequest
|
|
896
|
+
* @description Request model for creating custom widget
|
|
897
|
+
* @example {
|
|
898
|
+
* "default_config": {
|
|
899
|
+
* "date_range": "30d"
|
|
900
|
+
* },
|
|
901
|
+
* "description": "Custom metric for tracking KPIs",
|
|
902
|
+
* "provider_key": "CustomDataProvider.get_metric",
|
|
903
|
+
* "required_permissions": [
|
|
904
|
+
* "analytics_view"
|
|
905
|
+
* ],
|
|
906
|
+
* "supported_sizes": [
|
|
907
|
+
* "small",
|
|
908
|
+
* "medium"
|
|
909
|
+
* ],
|
|
910
|
+
* "widget_category": "custom",
|
|
911
|
+
* "widget_key": "custom_metric",
|
|
912
|
+
* "widget_name": "Custom Metric",
|
|
913
|
+
* "widget_type": "metric"
|
|
914
|
+
* }
|
|
915
|
+
*/
|
|
916
|
+
WidgetCreateRequest: {
|
|
917
|
+
/**
|
|
918
|
+
* Widget Key
|
|
919
|
+
* @description Unique widget key (e.g., 'total_revenue')
|
|
920
|
+
*/
|
|
921
|
+
widget_key: string;
|
|
922
|
+
/**
|
|
923
|
+
* Widget Name
|
|
924
|
+
* @description Display name
|
|
925
|
+
*/
|
|
926
|
+
widget_name: string;
|
|
927
|
+
/**
|
|
928
|
+
* Widget Type
|
|
929
|
+
* @description Widget type: metric, chart, table, list, alert
|
|
930
|
+
*/
|
|
931
|
+
widget_type: string;
|
|
932
|
+
/**
|
|
933
|
+
* Widget Category
|
|
934
|
+
* @description Category: analytics, sales, operations, custom
|
|
935
|
+
* @default custom
|
|
936
|
+
*/
|
|
937
|
+
widget_category: string;
|
|
938
|
+
/**
|
|
939
|
+
* Provider Key
|
|
940
|
+
* @description Data provider binding (e.g., 'RevenueDataProvider.get_total_revenue')
|
|
941
|
+
*/
|
|
942
|
+
provider_key: string;
|
|
943
|
+
/**
|
|
944
|
+
* Description
|
|
945
|
+
* @description Widget description
|
|
946
|
+
*/
|
|
947
|
+
description?: string | null;
|
|
948
|
+
/**
|
|
949
|
+
* Default Config
|
|
950
|
+
* @description Default configuration
|
|
951
|
+
*/
|
|
952
|
+
default_config?: {
|
|
953
|
+
[key: string]: unknown;
|
|
954
|
+
} | null;
|
|
955
|
+
/**
|
|
956
|
+
* Required Permissions
|
|
957
|
+
* @description Required permissions to view
|
|
958
|
+
*/
|
|
959
|
+
required_permissions?: string[] | null;
|
|
960
|
+
/**
|
|
961
|
+
* Supported Sizes
|
|
962
|
+
* @description Supported widget sizes
|
|
963
|
+
*/
|
|
964
|
+
supported_sizes?: string[] | null;
|
|
965
|
+
};
|
|
966
|
+
/**
|
|
967
|
+
* RoleAssignmentRequest
|
|
968
|
+
* @description Request model for assigning dashboard to role
|
|
969
|
+
* @example {
|
|
970
|
+
* "priority": 10,
|
|
971
|
+
* "template_id": "dash_3W4X5Y6zA7B8cd9E",
|
|
972
|
+
* "user_role_id": 5
|
|
973
|
+
* }
|
|
974
|
+
*/
|
|
975
|
+
RoleAssignmentRequest: {
|
|
976
|
+
/**
|
|
977
|
+
* Template Id
|
|
978
|
+
* @description Dashboard template external ID (dash_xxx)
|
|
979
|
+
*/
|
|
980
|
+
template_id: string;
|
|
981
|
+
/**
|
|
982
|
+
* User Role Id
|
|
983
|
+
* @description User role ID to assign template to
|
|
984
|
+
*/
|
|
985
|
+
user_role_id: number;
|
|
986
|
+
/**
|
|
987
|
+
* Priority
|
|
988
|
+
* @description Priority for multi-role users (higher = higher priority)
|
|
989
|
+
* @default 0
|
|
990
|
+
*/
|
|
991
|
+
priority: number;
|
|
992
|
+
};
|
|
993
|
+
/**
|
|
994
|
+
* WidgetUpdateRequest
|
|
995
|
+
* @description Request model for updating custom widget
|
|
996
|
+
*/
|
|
997
|
+
WidgetUpdateRequest: {
|
|
998
|
+
/** Widget Name */
|
|
999
|
+
widget_name?: string | null;
|
|
1000
|
+
/** Description */
|
|
1001
|
+
description?: string | null;
|
|
1002
|
+
/** Default Config */
|
|
1003
|
+
default_config?: {
|
|
1004
|
+
[key: string]: unknown;
|
|
1005
|
+
} | null;
|
|
1006
|
+
/** Required Permissions */
|
|
1007
|
+
required_permissions?: string[] | null;
|
|
1008
|
+
/** Supported Sizes */
|
|
1009
|
+
supported_sizes?: string[] | null;
|
|
1010
|
+
/**
|
|
1011
|
+
* Status
|
|
1012
|
+
* @description Status: active, inactive, deleted
|
|
1013
|
+
*/
|
|
1014
|
+
status?: string | null;
|
|
1015
|
+
};
|
|
1016
|
+
/**
|
|
1017
|
+
* @example {
|
|
1018
|
+
* "status": "success",
|
|
1019
|
+
* "message": "Operation successful",
|
|
1020
|
+
* "message_code": "api_suc_20001",
|
|
1021
|
+
* "data": {},
|
|
1022
|
+
* "metadata": {
|
|
1023
|
+
* "timestamp": "2026-03-26T10:00:00.000Z",
|
|
1024
|
+
* "requestId": "07e22004-cb60-4dfc-bc9c-b6f99664dca1",
|
|
1025
|
+
* "traceId": "a9f1204c-bb82-41de-b234-7c3a9e120000",
|
|
1026
|
+
* "version": "v1",
|
|
1027
|
+
* "executionTime": 42,
|
|
1028
|
+
* "language": "en-US"
|
|
1029
|
+
* }
|
|
1030
|
+
* }
|
|
1031
|
+
*/
|
|
1032
|
+
StandardResponse: {
|
|
1033
|
+
/** @example success */
|
|
1034
|
+
status?: string;
|
|
1035
|
+
data?: Record<string, never> | null;
|
|
1036
|
+
/** @example Operation successful */
|
|
1037
|
+
message?: string | null;
|
|
1038
|
+
/** @example api_suc_20001 */
|
|
1039
|
+
message_code?: string | null;
|
|
1040
|
+
metadata?: Record<string, never> | null;
|
|
1041
|
+
error?: components["schemas"]["ErrorResponse"];
|
|
1042
|
+
};
|
|
1043
|
+
/**
|
|
1044
|
+
* CustomizationRequest
|
|
1045
|
+
* @description Request model for saving dashboard customizations
|
|
1046
|
+
* @example {
|
|
1047
|
+
* "added_widgets": [],
|
|
1048
|
+
* "hidden_widgets": [
|
|
1049
|
+
* "wdg_abc123"
|
|
1050
|
+
* ],
|
|
1051
|
+
* "schema_version": "1.0",
|
|
1052
|
+
* "widget_overrides": {
|
|
1053
|
+
* "wdg_def456": {
|
|
1054
|
+
* "config": {
|
|
1055
|
+
* "date_range": "7d"
|
|
1056
|
+
* },
|
|
1057
|
+
* "position": {
|
|
1058
|
+
* "col": 0,
|
|
1059
|
+
* "height": 3,
|
|
1060
|
+
* "row": 1,
|
|
1061
|
+
* "width": 6
|
|
1062
|
+
* }
|
|
1063
|
+
* }
|
|
1064
|
+
* }
|
|
1065
|
+
* }
|
|
1066
|
+
*/
|
|
1067
|
+
CustomizationRequest: {
|
|
1068
|
+
/**
|
|
1069
|
+
* Schema Version
|
|
1070
|
+
* @description Schema version
|
|
1071
|
+
* @default 1.0
|
|
1072
|
+
*/
|
|
1073
|
+
schema_version: string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Hidden Widgets
|
|
1076
|
+
* @description Widget IDs to hide
|
|
1077
|
+
*/
|
|
1078
|
+
hidden_widgets?: string[] | null;
|
|
1079
|
+
/**
|
|
1080
|
+
* Widget Overrides
|
|
1081
|
+
* @description Widget-specific overrides (position, config)
|
|
1082
|
+
*/
|
|
1083
|
+
widget_overrides?: {
|
|
1084
|
+
[key: string]: {
|
|
1085
|
+
[key: string]: unknown;
|
|
1086
|
+
};
|
|
1087
|
+
} | null;
|
|
1088
|
+
/**
|
|
1089
|
+
* Added Widgets
|
|
1090
|
+
* @description Custom widgets added by user
|
|
1091
|
+
*/
|
|
1092
|
+
added_widgets?: {
|
|
1093
|
+
[key: string]: unknown;
|
|
1094
|
+
}[] | null;
|
|
1095
|
+
};
|
|
1096
|
+
InvalidParam: {
|
|
1097
|
+
/** @example items[0].quantity */
|
|
1098
|
+
field?: string;
|
|
1099
|
+
/** @example Input should be greater than or equal to 1 */
|
|
1100
|
+
error?: string;
|
|
1101
|
+
};
|
|
1102
|
+
ErrorResponse: {
|
|
1103
|
+
/** @example about:blank */
|
|
1104
|
+
type?: string;
|
|
1105
|
+
/** @example GENERIC_ERROR */
|
|
1106
|
+
code?: string;
|
|
1107
|
+
/** @example Client Error */
|
|
1108
|
+
title?: string;
|
|
1109
|
+
/** @example 400 */
|
|
1110
|
+
status?: number;
|
|
1111
|
+
/** @example An error occurred */
|
|
1112
|
+
detail?: string;
|
|
1113
|
+
/** @example /v1/cart/items */
|
|
1114
|
+
instance?: string;
|
|
1115
|
+
extensions?: components["schemas"]["Extensions"];
|
|
1116
|
+
};
|
|
1117
|
+
/**
|
|
1118
|
+
* ExportRequest
|
|
1119
|
+
* @description Request model for exporting dashboard
|
|
1120
|
+
*/
|
|
1121
|
+
ExportRequest: {
|
|
1122
|
+
/**
|
|
1123
|
+
* Format
|
|
1124
|
+
* @description Export format: pdf, excel
|
|
1125
|
+
* @default pdf
|
|
1126
|
+
*/
|
|
1127
|
+
format: string;
|
|
1128
|
+
/**
|
|
1129
|
+
* Include Data
|
|
1130
|
+
* @description Include widget data in export
|
|
1131
|
+
* @default true
|
|
1132
|
+
*/
|
|
1133
|
+
include_data: boolean;
|
|
1134
|
+
};
|
|
1135
|
+
/**
|
|
1136
|
+
* TemplateUpdateRequest
|
|
1137
|
+
* @description Request model for updating dashboard template
|
|
1138
|
+
*/
|
|
1139
|
+
TemplateUpdateRequest: {
|
|
1140
|
+
/** Template Name */
|
|
1141
|
+
template_name?: string | null;
|
|
1142
|
+
/** Description */
|
|
1143
|
+
description?: string | null;
|
|
1144
|
+
/** Layout Config */
|
|
1145
|
+
layout_config?: {
|
|
1146
|
+
[key: string]: unknown;
|
|
1147
|
+
} | null;
|
|
1148
|
+
/** Is Default */
|
|
1149
|
+
is_default?: boolean | null;
|
|
1150
|
+
/** Allow Child Override */
|
|
1151
|
+
allow_child_override?: boolean | null;
|
|
1152
|
+
/**
|
|
1153
|
+
* Status
|
|
1154
|
+
* @description Status: active, archived
|
|
1155
|
+
*/
|
|
1156
|
+
status?: string | null;
|
|
1157
|
+
};
|
|
1158
|
+
};
|
|
1159
|
+
responses: never;
|
|
1160
|
+
parameters: never;
|
|
1161
|
+
requestBodies: never;
|
|
1162
|
+
headers: never;
|
|
1163
|
+
pathItems: never;
|
|
1164
|
+
}
|
|
1165
|
+
export type $defs = Record<string, never>;
|
|
1166
|
+
export interface operations {
|
|
1167
|
+
listDashboardTemplates: {
|
|
1168
|
+
parameters: {
|
|
1169
|
+
query?: {
|
|
1170
|
+
/** @description Filter by status */
|
|
1171
|
+
status?: string;
|
|
1172
|
+
/** @description Page number (1-based) */
|
|
1173
|
+
page?: number;
|
|
1174
|
+
/** @description Items per page (1–500, default 100) */
|
|
1175
|
+
limit?: number;
|
|
1176
|
+
};
|
|
1177
|
+
header?: {
|
|
1178
|
+
authorization?: string | null;
|
|
1179
|
+
};
|
|
1180
|
+
path?: never;
|
|
1181
|
+
cookie?: never;
|
|
1182
|
+
};
|
|
1183
|
+
requestBody?: never;
|
|
1184
|
+
responses: {
|
|
1185
|
+
/** @description Successful Response */
|
|
1186
|
+
200: {
|
|
1187
|
+
headers: {
|
|
1188
|
+
[name: string]: unknown;
|
|
1189
|
+
};
|
|
1190
|
+
content: {
|
|
1191
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1192
|
+
};
|
|
1193
|
+
};
|
|
1194
|
+
/** @description Bad Request */
|
|
1195
|
+
400: {
|
|
1196
|
+
headers: {
|
|
1197
|
+
[name: string]: unknown;
|
|
1198
|
+
};
|
|
1199
|
+
content: {
|
|
1200
|
+
/**
|
|
1201
|
+
* @example {
|
|
1202
|
+
* "status": "error",
|
|
1203
|
+
* "message": "An error occurred",
|
|
1204
|
+
* "message_code": "GENERIC_ERROR",
|
|
1205
|
+
* "metadata": {
|
|
1206
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1207
|
+
* "requestId": "uuid",
|
|
1208
|
+
* "traceId": "uuid",
|
|
1209
|
+
* "version": "v1",
|
|
1210
|
+
* "executionTime": 0,
|
|
1211
|
+
* "language": "en-US",
|
|
1212
|
+
* "links": [
|
|
1213
|
+
* {
|
|
1214
|
+
* "rel": "self",
|
|
1215
|
+
* "href": "/v1/cart/items",
|
|
1216
|
+
* "method": "POST"
|
|
1217
|
+
* }
|
|
1218
|
+
* ]
|
|
1219
|
+
* },
|
|
1220
|
+
* "error": {
|
|
1221
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
1222
|
+
* "code": "GENERIC_ERROR",
|
|
1223
|
+
* "title": "Client Error",
|
|
1224
|
+
* "status": 400,
|
|
1225
|
+
* "detail": "An error occurred",
|
|
1226
|
+
* "instance": "/v1/cart/items",
|
|
1227
|
+
* "extensions": {
|
|
1228
|
+
* "message_code": "GENERIC_ERROR",
|
|
1229
|
+
* "invalid_params": []
|
|
1230
|
+
* }
|
|
1231
|
+
* }
|
|
1232
|
+
* }
|
|
1233
|
+
*/
|
|
1234
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1235
|
+
};
|
|
1236
|
+
};
|
|
1237
|
+
/** @description Unprocessable Entity */
|
|
1238
|
+
422: {
|
|
1239
|
+
headers: {
|
|
1240
|
+
[name: string]: unknown;
|
|
1241
|
+
};
|
|
1242
|
+
content: {
|
|
1243
|
+
/**
|
|
1244
|
+
* @example {
|
|
1245
|
+
* "status": "error",
|
|
1246
|
+
* "message": "One or more input fields are invalid",
|
|
1247
|
+
* "message_code": "INVALID_INPUT",
|
|
1248
|
+
* "metadata": {
|
|
1249
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1250
|
+
* "requestId": "uuid",
|
|
1251
|
+
* "traceId": "uuid",
|
|
1252
|
+
* "version": "v1",
|
|
1253
|
+
* "executionTime": 0,
|
|
1254
|
+
* "language": "en-US",
|
|
1255
|
+
* "links": [
|
|
1256
|
+
* {
|
|
1257
|
+
* "rel": "self",
|
|
1258
|
+
* "href": "/v1/cart/items",
|
|
1259
|
+
* "method": "POST"
|
|
1260
|
+
* }
|
|
1261
|
+
* ]
|
|
1262
|
+
* },
|
|
1263
|
+
* "error": {
|
|
1264
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
1265
|
+
* "code": "INVALID_INPUT",
|
|
1266
|
+
* "title": "Invalid Input",
|
|
1267
|
+
* "status": 422,
|
|
1268
|
+
* "detail": "One or more input fields are invalid",
|
|
1269
|
+
* "instance": "/v1/cart/items",
|
|
1270
|
+
* "extensions": {
|
|
1271
|
+
* "message_code": "INVALID_INPUT",
|
|
1272
|
+
* "invalid_params": [
|
|
1273
|
+
* {
|
|
1274
|
+
* "field": "items[0].quantity",
|
|
1275
|
+
* "error": "Input should be greater than or equal to 1"
|
|
1276
|
+
* }
|
|
1277
|
+
* ]
|
|
1278
|
+
* }
|
|
1279
|
+
* }
|
|
1280
|
+
* }
|
|
1281
|
+
*/
|
|
1282
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1283
|
+
};
|
|
1284
|
+
};
|
|
1285
|
+
/** @description Too Many Requests */
|
|
1286
|
+
429: {
|
|
1287
|
+
headers: {
|
|
1288
|
+
[name: string]: unknown;
|
|
1289
|
+
};
|
|
1290
|
+
content: {
|
|
1291
|
+
/**
|
|
1292
|
+
* @example {
|
|
1293
|
+
* "status": "error",
|
|
1294
|
+
* "message": "Too many requests",
|
|
1295
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1296
|
+
* "metadata": {
|
|
1297
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1298
|
+
* "requestId": "uuid",
|
|
1299
|
+
* "traceId": "uuid",
|
|
1300
|
+
* "version": "v1",
|
|
1301
|
+
* "executionTime": 0,
|
|
1302
|
+
* "language": "en-US",
|
|
1303
|
+
* "links": [
|
|
1304
|
+
* {
|
|
1305
|
+
* "rel": "self",
|
|
1306
|
+
* "href": "/v1/cart/items",
|
|
1307
|
+
* "method": "POST"
|
|
1308
|
+
* }
|
|
1309
|
+
* ]
|
|
1310
|
+
* },
|
|
1311
|
+
* "error": {
|
|
1312
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
1313
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
1314
|
+
* "title": "Rate Limit Exceeded",
|
|
1315
|
+
* "status": 429,
|
|
1316
|
+
* "detail": "Too many requests",
|
|
1317
|
+
* "instance": "/v1/cart/items",
|
|
1318
|
+
* "extensions": {
|
|
1319
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1320
|
+
* "invalid_params": []
|
|
1321
|
+
* }
|
|
1322
|
+
* }
|
|
1323
|
+
* }
|
|
1324
|
+
*/
|
|
1325
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1326
|
+
};
|
|
1327
|
+
};
|
|
1328
|
+
/** @description Internal Server Error */
|
|
1329
|
+
500: {
|
|
1330
|
+
headers: {
|
|
1331
|
+
[name: string]: unknown;
|
|
1332
|
+
};
|
|
1333
|
+
content: {
|
|
1334
|
+
/**
|
|
1335
|
+
* @example {
|
|
1336
|
+
* "status": "error",
|
|
1337
|
+
* "message": "An unexpected error occurred",
|
|
1338
|
+
* "message_code": "SERVER_ERROR",
|
|
1339
|
+
* "metadata": {
|
|
1340
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1341
|
+
* "requestId": "uuid",
|
|
1342
|
+
* "traceId": "uuid",
|
|
1343
|
+
* "version": "v1",
|
|
1344
|
+
* "executionTime": 0,
|
|
1345
|
+
* "language": "en-US",
|
|
1346
|
+
* "links": [
|
|
1347
|
+
* {
|
|
1348
|
+
* "rel": "self",
|
|
1349
|
+
* "href": "/v1/cart/items",
|
|
1350
|
+
* "method": "POST"
|
|
1351
|
+
* }
|
|
1352
|
+
* ]
|
|
1353
|
+
* },
|
|
1354
|
+
* "error": {
|
|
1355
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
1356
|
+
* "code": "SERVER_ERROR",
|
|
1357
|
+
* "title": "Server Error",
|
|
1358
|
+
* "status": 500,
|
|
1359
|
+
* "detail": "An unexpected error occurred",
|
|
1360
|
+
* "instance": "/v1/cart/items",
|
|
1361
|
+
* "extensions": {
|
|
1362
|
+
* "message_code": "SERVER_ERROR",
|
|
1363
|
+
* "invalid_params": []
|
|
1364
|
+
* }
|
|
1365
|
+
* }
|
|
1366
|
+
* }
|
|
1367
|
+
*/
|
|
1368
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1369
|
+
};
|
|
1370
|
+
};
|
|
1371
|
+
};
|
|
1372
|
+
};
|
|
1373
|
+
createDashboardTemplate: {
|
|
1374
|
+
parameters: {
|
|
1375
|
+
query?: never;
|
|
1376
|
+
header?: {
|
|
1377
|
+
authorization?: string | null;
|
|
1378
|
+
};
|
|
1379
|
+
path?: never;
|
|
1380
|
+
cookie?: never;
|
|
1381
|
+
};
|
|
1382
|
+
requestBody: {
|
|
1383
|
+
content: {
|
|
1384
|
+
"application/json": components["schemas"]["TemplateCreateRequest"];
|
|
1385
|
+
};
|
|
1386
|
+
};
|
|
1387
|
+
responses: {
|
|
1388
|
+
/** @description Successful Response */
|
|
1389
|
+
201: {
|
|
1390
|
+
headers: {
|
|
1391
|
+
[name: string]: unknown;
|
|
1392
|
+
};
|
|
1393
|
+
content: {
|
|
1394
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1395
|
+
};
|
|
1396
|
+
};
|
|
1397
|
+
/** @description Bad Request */
|
|
1398
|
+
400: {
|
|
1399
|
+
headers: {
|
|
1400
|
+
[name: string]: unknown;
|
|
1401
|
+
};
|
|
1402
|
+
content: {
|
|
1403
|
+
/**
|
|
1404
|
+
* @example {
|
|
1405
|
+
* "status": "error",
|
|
1406
|
+
* "message": "An error occurred",
|
|
1407
|
+
* "message_code": "GENERIC_ERROR",
|
|
1408
|
+
* "metadata": {
|
|
1409
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1410
|
+
* "requestId": "uuid",
|
|
1411
|
+
* "traceId": "uuid",
|
|
1412
|
+
* "version": "v1",
|
|
1413
|
+
* "executionTime": 0,
|
|
1414
|
+
* "language": "en-US",
|
|
1415
|
+
* "links": [
|
|
1416
|
+
* {
|
|
1417
|
+
* "rel": "self",
|
|
1418
|
+
* "href": "/v1/cart/items",
|
|
1419
|
+
* "method": "POST"
|
|
1420
|
+
* }
|
|
1421
|
+
* ]
|
|
1422
|
+
* },
|
|
1423
|
+
* "error": {
|
|
1424
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
1425
|
+
* "code": "GENERIC_ERROR",
|
|
1426
|
+
* "title": "Client Error",
|
|
1427
|
+
* "status": 400,
|
|
1428
|
+
* "detail": "An error occurred",
|
|
1429
|
+
* "instance": "/v1/cart/items",
|
|
1430
|
+
* "extensions": {
|
|
1431
|
+
* "message_code": "GENERIC_ERROR",
|
|
1432
|
+
* "invalid_params": []
|
|
1433
|
+
* }
|
|
1434
|
+
* }
|
|
1435
|
+
* }
|
|
1436
|
+
*/
|
|
1437
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1438
|
+
};
|
|
1439
|
+
};
|
|
1440
|
+
/** @description Unprocessable Entity */
|
|
1441
|
+
422: {
|
|
1442
|
+
headers: {
|
|
1443
|
+
[name: string]: unknown;
|
|
1444
|
+
};
|
|
1445
|
+
content: {
|
|
1446
|
+
/**
|
|
1447
|
+
* @example {
|
|
1448
|
+
* "status": "error",
|
|
1449
|
+
* "message": "One or more input fields are invalid",
|
|
1450
|
+
* "message_code": "INVALID_INPUT",
|
|
1451
|
+
* "metadata": {
|
|
1452
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1453
|
+
* "requestId": "uuid",
|
|
1454
|
+
* "traceId": "uuid",
|
|
1455
|
+
* "version": "v1",
|
|
1456
|
+
* "executionTime": 0,
|
|
1457
|
+
* "language": "en-US",
|
|
1458
|
+
* "links": [
|
|
1459
|
+
* {
|
|
1460
|
+
* "rel": "self",
|
|
1461
|
+
* "href": "/v1/cart/items",
|
|
1462
|
+
* "method": "POST"
|
|
1463
|
+
* }
|
|
1464
|
+
* ]
|
|
1465
|
+
* },
|
|
1466
|
+
* "error": {
|
|
1467
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
1468
|
+
* "code": "INVALID_INPUT",
|
|
1469
|
+
* "title": "Invalid Input",
|
|
1470
|
+
* "status": 422,
|
|
1471
|
+
* "detail": "One or more input fields are invalid",
|
|
1472
|
+
* "instance": "/v1/cart/items",
|
|
1473
|
+
* "extensions": {
|
|
1474
|
+
* "message_code": "INVALID_INPUT",
|
|
1475
|
+
* "invalid_params": [
|
|
1476
|
+
* {
|
|
1477
|
+
* "field": "items[0].quantity",
|
|
1478
|
+
* "error": "Input should be greater than or equal to 1"
|
|
1479
|
+
* }
|
|
1480
|
+
* ]
|
|
1481
|
+
* }
|
|
1482
|
+
* }
|
|
1483
|
+
* }
|
|
1484
|
+
*/
|
|
1485
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
/** @description Too Many Requests */
|
|
1489
|
+
429: {
|
|
1490
|
+
headers: {
|
|
1491
|
+
[name: string]: unknown;
|
|
1492
|
+
};
|
|
1493
|
+
content: {
|
|
1494
|
+
/**
|
|
1495
|
+
* @example {
|
|
1496
|
+
* "status": "error",
|
|
1497
|
+
* "message": "Too many requests",
|
|
1498
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1499
|
+
* "metadata": {
|
|
1500
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1501
|
+
* "requestId": "uuid",
|
|
1502
|
+
* "traceId": "uuid",
|
|
1503
|
+
* "version": "v1",
|
|
1504
|
+
* "executionTime": 0,
|
|
1505
|
+
* "language": "en-US",
|
|
1506
|
+
* "links": [
|
|
1507
|
+
* {
|
|
1508
|
+
* "rel": "self",
|
|
1509
|
+
* "href": "/v1/cart/items",
|
|
1510
|
+
* "method": "POST"
|
|
1511
|
+
* }
|
|
1512
|
+
* ]
|
|
1513
|
+
* },
|
|
1514
|
+
* "error": {
|
|
1515
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
1516
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
1517
|
+
* "title": "Rate Limit Exceeded",
|
|
1518
|
+
* "status": 429,
|
|
1519
|
+
* "detail": "Too many requests",
|
|
1520
|
+
* "instance": "/v1/cart/items",
|
|
1521
|
+
* "extensions": {
|
|
1522
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1523
|
+
* "invalid_params": []
|
|
1524
|
+
* }
|
|
1525
|
+
* }
|
|
1526
|
+
* }
|
|
1527
|
+
*/
|
|
1528
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1529
|
+
};
|
|
1530
|
+
};
|
|
1531
|
+
/** @description Internal Server Error */
|
|
1532
|
+
500: {
|
|
1533
|
+
headers: {
|
|
1534
|
+
[name: string]: unknown;
|
|
1535
|
+
};
|
|
1536
|
+
content: {
|
|
1537
|
+
/**
|
|
1538
|
+
* @example {
|
|
1539
|
+
* "status": "error",
|
|
1540
|
+
* "message": "An unexpected error occurred",
|
|
1541
|
+
* "message_code": "SERVER_ERROR",
|
|
1542
|
+
* "metadata": {
|
|
1543
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1544
|
+
* "requestId": "uuid",
|
|
1545
|
+
* "traceId": "uuid",
|
|
1546
|
+
* "version": "v1",
|
|
1547
|
+
* "executionTime": 0,
|
|
1548
|
+
* "language": "en-US",
|
|
1549
|
+
* "links": [
|
|
1550
|
+
* {
|
|
1551
|
+
* "rel": "self",
|
|
1552
|
+
* "href": "/v1/cart/items",
|
|
1553
|
+
* "method": "POST"
|
|
1554
|
+
* }
|
|
1555
|
+
* ]
|
|
1556
|
+
* },
|
|
1557
|
+
* "error": {
|
|
1558
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
1559
|
+
* "code": "SERVER_ERROR",
|
|
1560
|
+
* "title": "Server Error",
|
|
1561
|
+
* "status": 500,
|
|
1562
|
+
* "detail": "An unexpected error occurred",
|
|
1563
|
+
* "instance": "/v1/cart/items",
|
|
1564
|
+
* "extensions": {
|
|
1565
|
+
* "message_code": "SERVER_ERROR",
|
|
1566
|
+
* "invalid_params": []
|
|
1567
|
+
* }
|
|
1568
|
+
* }
|
|
1569
|
+
* }
|
|
1570
|
+
*/
|
|
1571
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1572
|
+
};
|
|
1573
|
+
};
|
|
1574
|
+
};
|
|
1575
|
+
};
|
|
1576
|
+
getDashboardTemplate: {
|
|
1577
|
+
parameters: {
|
|
1578
|
+
query?: never;
|
|
1579
|
+
header?: {
|
|
1580
|
+
authorization?: string | null;
|
|
1581
|
+
};
|
|
1582
|
+
path: {
|
|
1583
|
+
template_id: string;
|
|
1584
|
+
};
|
|
1585
|
+
cookie?: never;
|
|
1586
|
+
};
|
|
1587
|
+
requestBody?: never;
|
|
1588
|
+
responses: {
|
|
1589
|
+
/** @description Successful Response */
|
|
1590
|
+
200: {
|
|
1591
|
+
headers: {
|
|
1592
|
+
[name: string]: unknown;
|
|
1593
|
+
};
|
|
1594
|
+
content: {
|
|
1595
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1596
|
+
};
|
|
1597
|
+
};
|
|
1598
|
+
/** @description Bad Request */
|
|
1599
|
+
400: {
|
|
1600
|
+
headers: {
|
|
1601
|
+
[name: string]: unknown;
|
|
1602
|
+
};
|
|
1603
|
+
content: {
|
|
1604
|
+
/**
|
|
1605
|
+
* @example {
|
|
1606
|
+
* "status": "error",
|
|
1607
|
+
* "message": "An error occurred",
|
|
1608
|
+
* "message_code": "GENERIC_ERROR",
|
|
1609
|
+
* "metadata": {
|
|
1610
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1611
|
+
* "requestId": "uuid",
|
|
1612
|
+
* "traceId": "uuid",
|
|
1613
|
+
* "version": "v1",
|
|
1614
|
+
* "executionTime": 0,
|
|
1615
|
+
* "language": "en-US",
|
|
1616
|
+
* "links": [
|
|
1617
|
+
* {
|
|
1618
|
+
* "rel": "self",
|
|
1619
|
+
* "href": "/v1/cart/items",
|
|
1620
|
+
* "method": "POST"
|
|
1621
|
+
* }
|
|
1622
|
+
* ]
|
|
1623
|
+
* },
|
|
1624
|
+
* "error": {
|
|
1625
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
1626
|
+
* "code": "GENERIC_ERROR",
|
|
1627
|
+
* "title": "Client Error",
|
|
1628
|
+
* "status": 400,
|
|
1629
|
+
* "detail": "An error occurred",
|
|
1630
|
+
* "instance": "/v1/cart/items",
|
|
1631
|
+
* "extensions": {
|
|
1632
|
+
* "message_code": "GENERIC_ERROR",
|
|
1633
|
+
* "invalid_params": []
|
|
1634
|
+
* }
|
|
1635
|
+
* }
|
|
1636
|
+
* }
|
|
1637
|
+
*/
|
|
1638
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1639
|
+
};
|
|
1640
|
+
};
|
|
1641
|
+
/** @description Unprocessable Entity */
|
|
1642
|
+
422: {
|
|
1643
|
+
headers: {
|
|
1644
|
+
[name: string]: unknown;
|
|
1645
|
+
};
|
|
1646
|
+
content: {
|
|
1647
|
+
/**
|
|
1648
|
+
* @example {
|
|
1649
|
+
* "status": "error",
|
|
1650
|
+
* "message": "One or more input fields are invalid",
|
|
1651
|
+
* "message_code": "INVALID_INPUT",
|
|
1652
|
+
* "metadata": {
|
|
1653
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1654
|
+
* "requestId": "uuid",
|
|
1655
|
+
* "traceId": "uuid",
|
|
1656
|
+
* "version": "v1",
|
|
1657
|
+
* "executionTime": 0,
|
|
1658
|
+
* "language": "en-US",
|
|
1659
|
+
* "links": [
|
|
1660
|
+
* {
|
|
1661
|
+
* "rel": "self",
|
|
1662
|
+
* "href": "/v1/cart/items",
|
|
1663
|
+
* "method": "POST"
|
|
1664
|
+
* }
|
|
1665
|
+
* ]
|
|
1666
|
+
* },
|
|
1667
|
+
* "error": {
|
|
1668
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
1669
|
+
* "code": "INVALID_INPUT",
|
|
1670
|
+
* "title": "Invalid Input",
|
|
1671
|
+
* "status": 422,
|
|
1672
|
+
* "detail": "One or more input fields are invalid",
|
|
1673
|
+
* "instance": "/v1/cart/items",
|
|
1674
|
+
* "extensions": {
|
|
1675
|
+
* "message_code": "INVALID_INPUT",
|
|
1676
|
+
* "invalid_params": [
|
|
1677
|
+
* {
|
|
1678
|
+
* "field": "items[0].quantity",
|
|
1679
|
+
* "error": "Input should be greater than or equal to 1"
|
|
1680
|
+
* }
|
|
1681
|
+
* ]
|
|
1682
|
+
* }
|
|
1683
|
+
* }
|
|
1684
|
+
* }
|
|
1685
|
+
*/
|
|
1686
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1687
|
+
};
|
|
1688
|
+
};
|
|
1689
|
+
/** @description Too Many Requests */
|
|
1690
|
+
429: {
|
|
1691
|
+
headers: {
|
|
1692
|
+
[name: string]: unknown;
|
|
1693
|
+
};
|
|
1694
|
+
content: {
|
|
1695
|
+
/**
|
|
1696
|
+
* @example {
|
|
1697
|
+
* "status": "error",
|
|
1698
|
+
* "message": "Too many requests",
|
|
1699
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1700
|
+
* "metadata": {
|
|
1701
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1702
|
+
* "requestId": "uuid",
|
|
1703
|
+
* "traceId": "uuid",
|
|
1704
|
+
* "version": "v1",
|
|
1705
|
+
* "executionTime": 0,
|
|
1706
|
+
* "language": "en-US",
|
|
1707
|
+
* "links": [
|
|
1708
|
+
* {
|
|
1709
|
+
* "rel": "self",
|
|
1710
|
+
* "href": "/v1/cart/items",
|
|
1711
|
+
* "method": "POST"
|
|
1712
|
+
* }
|
|
1713
|
+
* ]
|
|
1714
|
+
* },
|
|
1715
|
+
* "error": {
|
|
1716
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
1717
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
1718
|
+
* "title": "Rate Limit Exceeded",
|
|
1719
|
+
* "status": 429,
|
|
1720
|
+
* "detail": "Too many requests",
|
|
1721
|
+
* "instance": "/v1/cart/items",
|
|
1722
|
+
* "extensions": {
|
|
1723
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1724
|
+
* "invalid_params": []
|
|
1725
|
+
* }
|
|
1726
|
+
* }
|
|
1727
|
+
* }
|
|
1728
|
+
*/
|
|
1729
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1730
|
+
};
|
|
1731
|
+
};
|
|
1732
|
+
/** @description Internal Server Error */
|
|
1733
|
+
500: {
|
|
1734
|
+
headers: {
|
|
1735
|
+
[name: string]: unknown;
|
|
1736
|
+
};
|
|
1737
|
+
content: {
|
|
1738
|
+
/**
|
|
1739
|
+
* @example {
|
|
1740
|
+
* "status": "error",
|
|
1741
|
+
* "message": "An unexpected error occurred",
|
|
1742
|
+
* "message_code": "SERVER_ERROR",
|
|
1743
|
+
* "metadata": {
|
|
1744
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1745
|
+
* "requestId": "uuid",
|
|
1746
|
+
* "traceId": "uuid",
|
|
1747
|
+
* "version": "v1",
|
|
1748
|
+
* "executionTime": 0,
|
|
1749
|
+
* "language": "en-US",
|
|
1750
|
+
* "links": [
|
|
1751
|
+
* {
|
|
1752
|
+
* "rel": "self",
|
|
1753
|
+
* "href": "/v1/cart/items",
|
|
1754
|
+
* "method": "POST"
|
|
1755
|
+
* }
|
|
1756
|
+
* ]
|
|
1757
|
+
* },
|
|
1758
|
+
* "error": {
|
|
1759
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
1760
|
+
* "code": "SERVER_ERROR",
|
|
1761
|
+
* "title": "Server Error",
|
|
1762
|
+
* "status": 500,
|
|
1763
|
+
* "detail": "An unexpected error occurred",
|
|
1764
|
+
* "instance": "/v1/cart/items",
|
|
1765
|
+
* "extensions": {
|
|
1766
|
+
* "message_code": "SERVER_ERROR",
|
|
1767
|
+
* "invalid_params": []
|
|
1768
|
+
* }
|
|
1769
|
+
* }
|
|
1770
|
+
* }
|
|
1771
|
+
*/
|
|
1772
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1773
|
+
};
|
|
1774
|
+
};
|
|
1775
|
+
};
|
|
1776
|
+
};
|
|
1777
|
+
deleteDashboardTemplate: {
|
|
1778
|
+
parameters: {
|
|
1779
|
+
query?: never;
|
|
1780
|
+
header?: {
|
|
1781
|
+
authorization?: string | null;
|
|
1782
|
+
};
|
|
1783
|
+
path: {
|
|
1784
|
+
template_id: string;
|
|
1785
|
+
};
|
|
1786
|
+
cookie?: never;
|
|
1787
|
+
};
|
|
1788
|
+
requestBody?: {
|
|
1789
|
+
content: {
|
|
1790
|
+
"application/json": components["schemas"]["DeleteTemplateRequest"];
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
responses: {
|
|
1794
|
+
/** @description Successful Response */
|
|
1795
|
+
200: {
|
|
1796
|
+
headers: {
|
|
1797
|
+
[name: string]: unknown;
|
|
1798
|
+
};
|
|
1799
|
+
content: {
|
|
1800
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1801
|
+
};
|
|
1802
|
+
};
|
|
1803
|
+
/** @description Bad Request */
|
|
1804
|
+
400: {
|
|
1805
|
+
headers: {
|
|
1806
|
+
[name: string]: unknown;
|
|
1807
|
+
};
|
|
1808
|
+
content: {
|
|
1809
|
+
/**
|
|
1810
|
+
* @example {
|
|
1811
|
+
* "status": "error",
|
|
1812
|
+
* "message": "An error occurred",
|
|
1813
|
+
* "message_code": "GENERIC_ERROR",
|
|
1814
|
+
* "metadata": {
|
|
1815
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1816
|
+
* "requestId": "uuid",
|
|
1817
|
+
* "traceId": "uuid",
|
|
1818
|
+
* "version": "v1",
|
|
1819
|
+
* "executionTime": 0,
|
|
1820
|
+
* "language": "en-US",
|
|
1821
|
+
* "links": [
|
|
1822
|
+
* {
|
|
1823
|
+
* "rel": "self",
|
|
1824
|
+
* "href": "/v1/cart/items",
|
|
1825
|
+
* "method": "POST"
|
|
1826
|
+
* }
|
|
1827
|
+
* ]
|
|
1828
|
+
* },
|
|
1829
|
+
* "error": {
|
|
1830
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
1831
|
+
* "code": "GENERIC_ERROR",
|
|
1832
|
+
* "title": "Client Error",
|
|
1833
|
+
* "status": 400,
|
|
1834
|
+
* "detail": "An error occurred",
|
|
1835
|
+
* "instance": "/v1/cart/items",
|
|
1836
|
+
* "extensions": {
|
|
1837
|
+
* "message_code": "GENERIC_ERROR",
|
|
1838
|
+
* "invalid_params": []
|
|
1839
|
+
* }
|
|
1840
|
+
* }
|
|
1841
|
+
* }
|
|
1842
|
+
*/
|
|
1843
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1844
|
+
};
|
|
1845
|
+
};
|
|
1846
|
+
/** @description Unprocessable Entity */
|
|
1847
|
+
422: {
|
|
1848
|
+
headers: {
|
|
1849
|
+
[name: string]: unknown;
|
|
1850
|
+
};
|
|
1851
|
+
content: {
|
|
1852
|
+
/**
|
|
1853
|
+
* @example {
|
|
1854
|
+
* "status": "error",
|
|
1855
|
+
* "message": "One or more input fields are invalid",
|
|
1856
|
+
* "message_code": "INVALID_INPUT",
|
|
1857
|
+
* "metadata": {
|
|
1858
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1859
|
+
* "requestId": "uuid",
|
|
1860
|
+
* "traceId": "uuid",
|
|
1861
|
+
* "version": "v1",
|
|
1862
|
+
* "executionTime": 0,
|
|
1863
|
+
* "language": "en-US",
|
|
1864
|
+
* "links": [
|
|
1865
|
+
* {
|
|
1866
|
+
* "rel": "self",
|
|
1867
|
+
* "href": "/v1/cart/items",
|
|
1868
|
+
* "method": "POST"
|
|
1869
|
+
* }
|
|
1870
|
+
* ]
|
|
1871
|
+
* },
|
|
1872
|
+
* "error": {
|
|
1873
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
1874
|
+
* "code": "INVALID_INPUT",
|
|
1875
|
+
* "title": "Invalid Input",
|
|
1876
|
+
* "status": 422,
|
|
1877
|
+
* "detail": "One or more input fields are invalid",
|
|
1878
|
+
* "instance": "/v1/cart/items",
|
|
1879
|
+
* "extensions": {
|
|
1880
|
+
* "message_code": "INVALID_INPUT",
|
|
1881
|
+
* "invalid_params": [
|
|
1882
|
+
* {
|
|
1883
|
+
* "field": "items[0].quantity",
|
|
1884
|
+
* "error": "Input should be greater than or equal to 1"
|
|
1885
|
+
* }
|
|
1886
|
+
* ]
|
|
1887
|
+
* }
|
|
1888
|
+
* }
|
|
1889
|
+
* }
|
|
1890
|
+
*/
|
|
1891
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1892
|
+
};
|
|
1893
|
+
};
|
|
1894
|
+
/** @description Too Many Requests */
|
|
1895
|
+
429: {
|
|
1896
|
+
headers: {
|
|
1897
|
+
[name: string]: unknown;
|
|
1898
|
+
};
|
|
1899
|
+
content: {
|
|
1900
|
+
/**
|
|
1901
|
+
* @example {
|
|
1902
|
+
* "status": "error",
|
|
1903
|
+
* "message": "Too many requests",
|
|
1904
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1905
|
+
* "metadata": {
|
|
1906
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1907
|
+
* "requestId": "uuid",
|
|
1908
|
+
* "traceId": "uuid",
|
|
1909
|
+
* "version": "v1",
|
|
1910
|
+
* "executionTime": 0,
|
|
1911
|
+
* "language": "en-US",
|
|
1912
|
+
* "links": [
|
|
1913
|
+
* {
|
|
1914
|
+
* "rel": "self",
|
|
1915
|
+
* "href": "/v1/cart/items",
|
|
1916
|
+
* "method": "POST"
|
|
1917
|
+
* }
|
|
1918
|
+
* ]
|
|
1919
|
+
* },
|
|
1920
|
+
* "error": {
|
|
1921
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
1922
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
1923
|
+
* "title": "Rate Limit Exceeded",
|
|
1924
|
+
* "status": 429,
|
|
1925
|
+
* "detail": "Too many requests",
|
|
1926
|
+
* "instance": "/v1/cart/items",
|
|
1927
|
+
* "extensions": {
|
|
1928
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
1929
|
+
* "invalid_params": []
|
|
1930
|
+
* }
|
|
1931
|
+
* }
|
|
1932
|
+
* }
|
|
1933
|
+
*/
|
|
1934
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1935
|
+
};
|
|
1936
|
+
};
|
|
1937
|
+
/** @description Internal Server Error */
|
|
1938
|
+
500: {
|
|
1939
|
+
headers: {
|
|
1940
|
+
[name: string]: unknown;
|
|
1941
|
+
};
|
|
1942
|
+
content: {
|
|
1943
|
+
/**
|
|
1944
|
+
* @example {
|
|
1945
|
+
* "status": "error",
|
|
1946
|
+
* "message": "An unexpected error occurred",
|
|
1947
|
+
* "message_code": "SERVER_ERROR",
|
|
1948
|
+
* "metadata": {
|
|
1949
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
1950
|
+
* "requestId": "uuid",
|
|
1951
|
+
* "traceId": "uuid",
|
|
1952
|
+
* "version": "v1",
|
|
1953
|
+
* "executionTime": 0,
|
|
1954
|
+
* "language": "en-US",
|
|
1955
|
+
* "links": [
|
|
1956
|
+
* {
|
|
1957
|
+
* "rel": "self",
|
|
1958
|
+
* "href": "/v1/cart/items",
|
|
1959
|
+
* "method": "POST"
|
|
1960
|
+
* }
|
|
1961
|
+
* ]
|
|
1962
|
+
* },
|
|
1963
|
+
* "error": {
|
|
1964
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
1965
|
+
* "code": "SERVER_ERROR",
|
|
1966
|
+
* "title": "Server Error",
|
|
1967
|
+
* "status": 500,
|
|
1968
|
+
* "detail": "An unexpected error occurred",
|
|
1969
|
+
* "instance": "/v1/cart/items",
|
|
1970
|
+
* "extensions": {
|
|
1971
|
+
* "message_code": "SERVER_ERROR",
|
|
1972
|
+
* "invalid_params": []
|
|
1973
|
+
* }
|
|
1974
|
+
* }
|
|
1975
|
+
* }
|
|
1976
|
+
*/
|
|
1977
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
1978
|
+
};
|
|
1979
|
+
};
|
|
1980
|
+
};
|
|
1981
|
+
};
|
|
1982
|
+
updateDashboardTemplate: {
|
|
1983
|
+
parameters: {
|
|
1984
|
+
query?: never;
|
|
1985
|
+
header?: {
|
|
1986
|
+
authorization?: string | null;
|
|
1987
|
+
};
|
|
1988
|
+
path: {
|
|
1989
|
+
template_id: string;
|
|
1990
|
+
};
|
|
1991
|
+
cookie?: never;
|
|
1992
|
+
};
|
|
1993
|
+
requestBody: {
|
|
1994
|
+
content: {
|
|
1995
|
+
"application/json": components["schemas"]["TemplateUpdateRequest"];
|
|
1996
|
+
};
|
|
1997
|
+
};
|
|
1998
|
+
responses: {
|
|
1999
|
+
/** @description Successful Response */
|
|
2000
|
+
200: {
|
|
2001
|
+
headers: {
|
|
2002
|
+
[name: string]: unknown;
|
|
2003
|
+
};
|
|
2004
|
+
content: {
|
|
2005
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2006
|
+
};
|
|
2007
|
+
};
|
|
2008
|
+
/** @description Bad Request */
|
|
2009
|
+
400: {
|
|
2010
|
+
headers: {
|
|
2011
|
+
[name: string]: unknown;
|
|
2012
|
+
};
|
|
2013
|
+
content: {
|
|
2014
|
+
/**
|
|
2015
|
+
* @example {
|
|
2016
|
+
* "status": "error",
|
|
2017
|
+
* "message": "An error occurred",
|
|
2018
|
+
* "message_code": "GENERIC_ERROR",
|
|
2019
|
+
* "metadata": {
|
|
2020
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2021
|
+
* "requestId": "uuid",
|
|
2022
|
+
* "traceId": "uuid",
|
|
2023
|
+
* "version": "v1",
|
|
2024
|
+
* "executionTime": 0,
|
|
2025
|
+
* "language": "en-US",
|
|
2026
|
+
* "links": [
|
|
2027
|
+
* {
|
|
2028
|
+
* "rel": "self",
|
|
2029
|
+
* "href": "/v1/cart/items",
|
|
2030
|
+
* "method": "POST"
|
|
2031
|
+
* }
|
|
2032
|
+
* ]
|
|
2033
|
+
* },
|
|
2034
|
+
* "error": {
|
|
2035
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
2036
|
+
* "code": "GENERIC_ERROR",
|
|
2037
|
+
* "title": "Client Error",
|
|
2038
|
+
* "status": 400,
|
|
2039
|
+
* "detail": "An error occurred",
|
|
2040
|
+
* "instance": "/v1/cart/items",
|
|
2041
|
+
* "extensions": {
|
|
2042
|
+
* "message_code": "GENERIC_ERROR",
|
|
2043
|
+
* "invalid_params": []
|
|
2044
|
+
* }
|
|
2045
|
+
* }
|
|
2046
|
+
* }
|
|
2047
|
+
*/
|
|
2048
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2049
|
+
};
|
|
2050
|
+
};
|
|
2051
|
+
/** @description Unprocessable Entity */
|
|
2052
|
+
422: {
|
|
2053
|
+
headers: {
|
|
2054
|
+
[name: string]: unknown;
|
|
2055
|
+
};
|
|
2056
|
+
content: {
|
|
2057
|
+
/**
|
|
2058
|
+
* @example {
|
|
2059
|
+
* "status": "error",
|
|
2060
|
+
* "message": "One or more input fields are invalid",
|
|
2061
|
+
* "message_code": "INVALID_INPUT",
|
|
2062
|
+
* "metadata": {
|
|
2063
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2064
|
+
* "requestId": "uuid",
|
|
2065
|
+
* "traceId": "uuid",
|
|
2066
|
+
* "version": "v1",
|
|
2067
|
+
* "executionTime": 0,
|
|
2068
|
+
* "language": "en-US",
|
|
2069
|
+
* "links": [
|
|
2070
|
+
* {
|
|
2071
|
+
* "rel": "self",
|
|
2072
|
+
* "href": "/v1/cart/items",
|
|
2073
|
+
* "method": "POST"
|
|
2074
|
+
* }
|
|
2075
|
+
* ]
|
|
2076
|
+
* },
|
|
2077
|
+
* "error": {
|
|
2078
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
2079
|
+
* "code": "INVALID_INPUT",
|
|
2080
|
+
* "title": "Invalid Input",
|
|
2081
|
+
* "status": 422,
|
|
2082
|
+
* "detail": "One or more input fields are invalid",
|
|
2083
|
+
* "instance": "/v1/cart/items",
|
|
2084
|
+
* "extensions": {
|
|
2085
|
+
* "message_code": "INVALID_INPUT",
|
|
2086
|
+
* "invalid_params": [
|
|
2087
|
+
* {
|
|
2088
|
+
* "field": "items[0].quantity",
|
|
2089
|
+
* "error": "Input should be greater than or equal to 1"
|
|
2090
|
+
* }
|
|
2091
|
+
* ]
|
|
2092
|
+
* }
|
|
2093
|
+
* }
|
|
2094
|
+
* }
|
|
2095
|
+
*/
|
|
2096
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2099
|
+
/** @description Too Many Requests */
|
|
2100
|
+
429: {
|
|
2101
|
+
headers: {
|
|
2102
|
+
[name: string]: unknown;
|
|
2103
|
+
};
|
|
2104
|
+
content: {
|
|
2105
|
+
/**
|
|
2106
|
+
* @example {
|
|
2107
|
+
* "status": "error",
|
|
2108
|
+
* "message": "Too many requests",
|
|
2109
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2110
|
+
* "metadata": {
|
|
2111
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2112
|
+
* "requestId": "uuid",
|
|
2113
|
+
* "traceId": "uuid",
|
|
2114
|
+
* "version": "v1",
|
|
2115
|
+
* "executionTime": 0,
|
|
2116
|
+
* "language": "en-US",
|
|
2117
|
+
* "links": [
|
|
2118
|
+
* {
|
|
2119
|
+
* "rel": "self",
|
|
2120
|
+
* "href": "/v1/cart/items",
|
|
2121
|
+
* "method": "POST"
|
|
2122
|
+
* }
|
|
2123
|
+
* ]
|
|
2124
|
+
* },
|
|
2125
|
+
* "error": {
|
|
2126
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
2127
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
2128
|
+
* "title": "Rate Limit Exceeded",
|
|
2129
|
+
* "status": 429,
|
|
2130
|
+
* "detail": "Too many requests",
|
|
2131
|
+
* "instance": "/v1/cart/items",
|
|
2132
|
+
* "extensions": {
|
|
2133
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2134
|
+
* "invalid_params": []
|
|
2135
|
+
* }
|
|
2136
|
+
* }
|
|
2137
|
+
* }
|
|
2138
|
+
*/
|
|
2139
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2140
|
+
};
|
|
2141
|
+
};
|
|
2142
|
+
/** @description Internal Server Error */
|
|
2143
|
+
500: {
|
|
2144
|
+
headers: {
|
|
2145
|
+
[name: string]: unknown;
|
|
2146
|
+
};
|
|
2147
|
+
content: {
|
|
2148
|
+
/**
|
|
2149
|
+
* @example {
|
|
2150
|
+
* "status": "error",
|
|
2151
|
+
* "message": "An unexpected error occurred",
|
|
2152
|
+
* "message_code": "SERVER_ERROR",
|
|
2153
|
+
* "metadata": {
|
|
2154
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2155
|
+
* "requestId": "uuid",
|
|
2156
|
+
* "traceId": "uuid",
|
|
2157
|
+
* "version": "v1",
|
|
2158
|
+
* "executionTime": 0,
|
|
2159
|
+
* "language": "en-US",
|
|
2160
|
+
* "links": [
|
|
2161
|
+
* {
|
|
2162
|
+
* "rel": "self",
|
|
2163
|
+
* "href": "/v1/cart/items",
|
|
2164
|
+
* "method": "POST"
|
|
2165
|
+
* }
|
|
2166
|
+
* ]
|
|
2167
|
+
* },
|
|
2168
|
+
* "error": {
|
|
2169
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
2170
|
+
* "code": "SERVER_ERROR",
|
|
2171
|
+
* "title": "Server Error",
|
|
2172
|
+
* "status": 500,
|
|
2173
|
+
* "detail": "An unexpected error occurred",
|
|
2174
|
+
* "instance": "/v1/cart/items",
|
|
2175
|
+
* "extensions": {
|
|
2176
|
+
* "message_code": "SERVER_ERROR",
|
|
2177
|
+
* "invalid_params": []
|
|
2178
|
+
* }
|
|
2179
|
+
* }
|
|
2180
|
+
* }
|
|
2181
|
+
*/
|
|
2182
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2183
|
+
};
|
|
2184
|
+
};
|
|
2185
|
+
};
|
|
2186
|
+
};
|
|
2187
|
+
listRoleAssignments: {
|
|
2188
|
+
parameters: {
|
|
2189
|
+
query?: never;
|
|
2190
|
+
header?: {
|
|
2191
|
+
authorization?: string | null;
|
|
2192
|
+
};
|
|
2193
|
+
path?: never;
|
|
2194
|
+
cookie?: never;
|
|
2195
|
+
};
|
|
2196
|
+
requestBody?: never;
|
|
2197
|
+
responses: {
|
|
2198
|
+
/** @description Successful Response */
|
|
2199
|
+
200: {
|
|
2200
|
+
headers: {
|
|
2201
|
+
[name: string]: unknown;
|
|
2202
|
+
};
|
|
2203
|
+
content: {
|
|
2204
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2205
|
+
};
|
|
2206
|
+
};
|
|
2207
|
+
/** @description Bad Request */
|
|
2208
|
+
400: {
|
|
2209
|
+
headers: {
|
|
2210
|
+
[name: string]: unknown;
|
|
2211
|
+
};
|
|
2212
|
+
content: {
|
|
2213
|
+
/**
|
|
2214
|
+
* @example {
|
|
2215
|
+
* "status": "error",
|
|
2216
|
+
* "message": "An error occurred",
|
|
2217
|
+
* "message_code": "GENERIC_ERROR",
|
|
2218
|
+
* "metadata": {
|
|
2219
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2220
|
+
* "requestId": "uuid",
|
|
2221
|
+
* "traceId": "uuid",
|
|
2222
|
+
* "version": "v1",
|
|
2223
|
+
* "executionTime": 0,
|
|
2224
|
+
* "language": "en-US",
|
|
2225
|
+
* "links": [
|
|
2226
|
+
* {
|
|
2227
|
+
* "rel": "self",
|
|
2228
|
+
* "href": "/v1/cart/items",
|
|
2229
|
+
* "method": "POST"
|
|
2230
|
+
* }
|
|
2231
|
+
* ]
|
|
2232
|
+
* },
|
|
2233
|
+
* "error": {
|
|
2234
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
2235
|
+
* "code": "GENERIC_ERROR",
|
|
2236
|
+
* "title": "Client Error",
|
|
2237
|
+
* "status": 400,
|
|
2238
|
+
* "detail": "An error occurred",
|
|
2239
|
+
* "instance": "/v1/cart/items",
|
|
2240
|
+
* "extensions": {
|
|
2241
|
+
* "message_code": "GENERIC_ERROR",
|
|
2242
|
+
* "invalid_params": []
|
|
2243
|
+
* }
|
|
2244
|
+
* }
|
|
2245
|
+
* }
|
|
2246
|
+
*/
|
|
2247
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2248
|
+
};
|
|
2249
|
+
};
|
|
2250
|
+
/** @description Unprocessable Entity */
|
|
2251
|
+
422: {
|
|
2252
|
+
headers: {
|
|
2253
|
+
[name: string]: unknown;
|
|
2254
|
+
};
|
|
2255
|
+
content: {
|
|
2256
|
+
/**
|
|
2257
|
+
* @example {
|
|
2258
|
+
* "status": "error",
|
|
2259
|
+
* "message": "One or more input fields are invalid",
|
|
2260
|
+
* "message_code": "INVALID_INPUT",
|
|
2261
|
+
* "metadata": {
|
|
2262
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2263
|
+
* "requestId": "uuid",
|
|
2264
|
+
* "traceId": "uuid",
|
|
2265
|
+
* "version": "v1",
|
|
2266
|
+
* "executionTime": 0,
|
|
2267
|
+
* "language": "en-US",
|
|
2268
|
+
* "links": [
|
|
2269
|
+
* {
|
|
2270
|
+
* "rel": "self",
|
|
2271
|
+
* "href": "/v1/cart/items",
|
|
2272
|
+
* "method": "POST"
|
|
2273
|
+
* }
|
|
2274
|
+
* ]
|
|
2275
|
+
* },
|
|
2276
|
+
* "error": {
|
|
2277
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
2278
|
+
* "code": "INVALID_INPUT",
|
|
2279
|
+
* "title": "Invalid Input",
|
|
2280
|
+
* "status": 422,
|
|
2281
|
+
* "detail": "One or more input fields are invalid",
|
|
2282
|
+
* "instance": "/v1/cart/items",
|
|
2283
|
+
* "extensions": {
|
|
2284
|
+
* "message_code": "INVALID_INPUT",
|
|
2285
|
+
* "invalid_params": [
|
|
2286
|
+
* {
|
|
2287
|
+
* "field": "items[0].quantity",
|
|
2288
|
+
* "error": "Input should be greater than or equal to 1"
|
|
2289
|
+
* }
|
|
2290
|
+
* ]
|
|
2291
|
+
* }
|
|
2292
|
+
* }
|
|
2293
|
+
* }
|
|
2294
|
+
*/
|
|
2295
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2296
|
+
};
|
|
2297
|
+
};
|
|
2298
|
+
/** @description Too Many Requests */
|
|
2299
|
+
429: {
|
|
2300
|
+
headers: {
|
|
2301
|
+
[name: string]: unknown;
|
|
2302
|
+
};
|
|
2303
|
+
content: {
|
|
2304
|
+
/**
|
|
2305
|
+
* @example {
|
|
2306
|
+
* "status": "error",
|
|
2307
|
+
* "message": "Too many requests",
|
|
2308
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2309
|
+
* "metadata": {
|
|
2310
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2311
|
+
* "requestId": "uuid",
|
|
2312
|
+
* "traceId": "uuid",
|
|
2313
|
+
* "version": "v1",
|
|
2314
|
+
* "executionTime": 0,
|
|
2315
|
+
* "language": "en-US",
|
|
2316
|
+
* "links": [
|
|
2317
|
+
* {
|
|
2318
|
+
* "rel": "self",
|
|
2319
|
+
* "href": "/v1/cart/items",
|
|
2320
|
+
* "method": "POST"
|
|
2321
|
+
* }
|
|
2322
|
+
* ]
|
|
2323
|
+
* },
|
|
2324
|
+
* "error": {
|
|
2325
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
2326
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
2327
|
+
* "title": "Rate Limit Exceeded",
|
|
2328
|
+
* "status": 429,
|
|
2329
|
+
* "detail": "Too many requests",
|
|
2330
|
+
* "instance": "/v1/cart/items",
|
|
2331
|
+
* "extensions": {
|
|
2332
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2333
|
+
* "invalid_params": []
|
|
2334
|
+
* }
|
|
2335
|
+
* }
|
|
2336
|
+
* }
|
|
2337
|
+
*/
|
|
2338
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2339
|
+
};
|
|
2340
|
+
};
|
|
2341
|
+
/** @description Internal Server Error */
|
|
2342
|
+
500: {
|
|
2343
|
+
headers: {
|
|
2344
|
+
[name: string]: unknown;
|
|
2345
|
+
};
|
|
2346
|
+
content: {
|
|
2347
|
+
/**
|
|
2348
|
+
* @example {
|
|
2349
|
+
* "status": "error",
|
|
2350
|
+
* "message": "An unexpected error occurred",
|
|
2351
|
+
* "message_code": "SERVER_ERROR",
|
|
2352
|
+
* "metadata": {
|
|
2353
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2354
|
+
* "requestId": "uuid",
|
|
2355
|
+
* "traceId": "uuid",
|
|
2356
|
+
* "version": "v1",
|
|
2357
|
+
* "executionTime": 0,
|
|
2358
|
+
* "language": "en-US",
|
|
2359
|
+
* "links": [
|
|
2360
|
+
* {
|
|
2361
|
+
* "rel": "self",
|
|
2362
|
+
* "href": "/v1/cart/items",
|
|
2363
|
+
* "method": "POST"
|
|
2364
|
+
* }
|
|
2365
|
+
* ]
|
|
2366
|
+
* },
|
|
2367
|
+
* "error": {
|
|
2368
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
2369
|
+
* "code": "SERVER_ERROR",
|
|
2370
|
+
* "title": "Server Error",
|
|
2371
|
+
* "status": 500,
|
|
2372
|
+
* "detail": "An unexpected error occurred",
|
|
2373
|
+
* "instance": "/v1/cart/items",
|
|
2374
|
+
* "extensions": {
|
|
2375
|
+
* "message_code": "SERVER_ERROR",
|
|
2376
|
+
* "invalid_params": []
|
|
2377
|
+
* }
|
|
2378
|
+
* }
|
|
2379
|
+
* }
|
|
2380
|
+
*/
|
|
2381
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2382
|
+
};
|
|
2383
|
+
};
|
|
2384
|
+
};
|
|
2385
|
+
};
|
|
2386
|
+
createDashboardRoleAssignment: {
|
|
2387
|
+
parameters: {
|
|
2388
|
+
query?: never;
|
|
2389
|
+
header?: {
|
|
2390
|
+
authorization?: string | null;
|
|
2391
|
+
};
|
|
2392
|
+
path?: never;
|
|
2393
|
+
cookie?: never;
|
|
2394
|
+
};
|
|
2395
|
+
requestBody: {
|
|
2396
|
+
content: {
|
|
2397
|
+
"application/json": components["schemas"]["RoleAssignmentRequest"];
|
|
2398
|
+
};
|
|
2399
|
+
};
|
|
2400
|
+
responses: {
|
|
2401
|
+
/** @description Successful Response */
|
|
2402
|
+
201: {
|
|
2403
|
+
headers: {
|
|
2404
|
+
[name: string]: unknown;
|
|
2405
|
+
};
|
|
2406
|
+
content: {
|
|
2407
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2408
|
+
};
|
|
2409
|
+
};
|
|
2410
|
+
/** @description Bad Request */
|
|
2411
|
+
400: {
|
|
2412
|
+
headers: {
|
|
2413
|
+
[name: string]: unknown;
|
|
2414
|
+
};
|
|
2415
|
+
content: {
|
|
2416
|
+
/**
|
|
2417
|
+
* @example {
|
|
2418
|
+
* "status": "error",
|
|
2419
|
+
* "message": "An error occurred",
|
|
2420
|
+
* "message_code": "GENERIC_ERROR",
|
|
2421
|
+
* "metadata": {
|
|
2422
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2423
|
+
* "requestId": "uuid",
|
|
2424
|
+
* "traceId": "uuid",
|
|
2425
|
+
* "version": "v1",
|
|
2426
|
+
* "executionTime": 0,
|
|
2427
|
+
* "language": "en-US",
|
|
2428
|
+
* "links": [
|
|
2429
|
+
* {
|
|
2430
|
+
* "rel": "self",
|
|
2431
|
+
* "href": "/v1/cart/items",
|
|
2432
|
+
* "method": "POST"
|
|
2433
|
+
* }
|
|
2434
|
+
* ]
|
|
2435
|
+
* },
|
|
2436
|
+
* "error": {
|
|
2437
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
2438
|
+
* "code": "GENERIC_ERROR",
|
|
2439
|
+
* "title": "Client Error",
|
|
2440
|
+
* "status": 400,
|
|
2441
|
+
* "detail": "An error occurred",
|
|
2442
|
+
* "instance": "/v1/cart/items",
|
|
2443
|
+
* "extensions": {
|
|
2444
|
+
* "message_code": "GENERIC_ERROR",
|
|
2445
|
+
* "invalid_params": []
|
|
2446
|
+
* }
|
|
2447
|
+
* }
|
|
2448
|
+
* }
|
|
2449
|
+
*/
|
|
2450
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2451
|
+
};
|
|
2452
|
+
};
|
|
2453
|
+
/** @description Unprocessable Entity */
|
|
2454
|
+
422: {
|
|
2455
|
+
headers: {
|
|
2456
|
+
[name: string]: unknown;
|
|
2457
|
+
};
|
|
2458
|
+
content: {
|
|
2459
|
+
/**
|
|
2460
|
+
* @example {
|
|
2461
|
+
* "status": "error",
|
|
2462
|
+
* "message": "One or more input fields are invalid",
|
|
2463
|
+
* "message_code": "INVALID_INPUT",
|
|
2464
|
+
* "metadata": {
|
|
2465
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2466
|
+
* "requestId": "uuid",
|
|
2467
|
+
* "traceId": "uuid",
|
|
2468
|
+
* "version": "v1",
|
|
2469
|
+
* "executionTime": 0,
|
|
2470
|
+
* "language": "en-US",
|
|
2471
|
+
* "links": [
|
|
2472
|
+
* {
|
|
2473
|
+
* "rel": "self",
|
|
2474
|
+
* "href": "/v1/cart/items",
|
|
2475
|
+
* "method": "POST"
|
|
2476
|
+
* }
|
|
2477
|
+
* ]
|
|
2478
|
+
* },
|
|
2479
|
+
* "error": {
|
|
2480
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
2481
|
+
* "code": "INVALID_INPUT",
|
|
2482
|
+
* "title": "Invalid Input",
|
|
2483
|
+
* "status": 422,
|
|
2484
|
+
* "detail": "One or more input fields are invalid",
|
|
2485
|
+
* "instance": "/v1/cart/items",
|
|
2486
|
+
* "extensions": {
|
|
2487
|
+
* "message_code": "INVALID_INPUT",
|
|
2488
|
+
* "invalid_params": [
|
|
2489
|
+
* {
|
|
2490
|
+
* "field": "items[0].quantity",
|
|
2491
|
+
* "error": "Input should be greater than or equal to 1"
|
|
2492
|
+
* }
|
|
2493
|
+
* ]
|
|
2494
|
+
* }
|
|
2495
|
+
* }
|
|
2496
|
+
* }
|
|
2497
|
+
*/
|
|
2498
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2499
|
+
};
|
|
2500
|
+
};
|
|
2501
|
+
/** @description Too Many Requests */
|
|
2502
|
+
429: {
|
|
2503
|
+
headers: {
|
|
2504
|
+
[name: string]: unknown;
|
|
2505
|
+
};
|
|
2506
|
+
content: {
|
|
2507
|
+
/**
|
|
2508
|
+
* @example {
|
|
2509
|
+
* "status": "error",
|
|
2510
|
+
* "message": "Too many requests",
|
|
2511
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2512
|
+
* "metadata": {
|
|
2513
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2514
|
+
* "requestId": "uuid",
|
|
2515
|
+
* "traceId": "uuid",
|
|
2516
|
+
* "version": "v1",
|
|
2517
|
+
* "executionTime": 0,
|
|
2518
|
+
* "language": "en-US",
|
|
2519
|
+
* "links": [
|
|
2520
|
+
* {
|
|
2521
|
+
* "rel": "self",
|
|
2522
|
+
* "href": "/v1/cart/items",
|
|
2523
|
+
* "method": "POST"
|
|
2524
|
+
* }
|
|
2525
|
+
* ]
|
|
2526
|
+
* },
|
|
2527
|
+
* "error": {
|
|
2528
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
2529
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
2530
|
+
* "title": "Rate Limit Exceeded",
|
|
2531
|
+
* "status": 429,
|
|
2532
|
+
* "detail": "Too many requests",
|
|
2533
|
+
* "instance": "/v1/cart/items",
|
|
2534
|
+
* "extensions": {
|
|
2535
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2536
|
+
* "invalid_params": []
|
|
2537
|
+
* }
|
|
2538
|
+
* }
|
|
2539
|
+
* }
|
|
2540
|
+
*/
|
|
2541
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2542
|
+
};
|
|
2543
|
+
};
|
|
2544
|
+
/** @description Internal Server Error */
|
|
2545
|
+
500: {
|
|
2546
|
+
headers: {
|
|
2547
|
+
[name: string]: unknown;
|
|
2548
|
+
};
|
|
2549
|
+
content: {
|
|
2550
|
+
/**
|
|
2551
|
+
* @example {
|
|
2552
|
+
* "status": "error",
|
|
2553
|
+
* "message": "An unexpected error occurred",
|
|
2554
|
+
* "message_code": "SERVER_ERROR",
|
|
2555
|
+
* "metadata": {
|
|
2556
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2557
|
+
* "requestId": "uuid",
|
|
2558
|
+
* "traceId": "uuid",
|
|
2559
|
+
* "version": "v1",
|
|
2560
|
+
* "executionTime": 0,
|
|
2561
|
+
* "language": "en-US",
|
|
2562
|
+
* "links": [
|
|
2563
|
+
* {
|
|
2564
|
+
* "rel": "self",
|
|
2565
|
+
* "href": "/v1/cart/items",
|
|
2566
|
+
* "method": "POST"
|
|
2567
|
+
* }
|
|
2568
|
+
* ]
|
|
2569
|
+
* },
|
|
2570
|
+
* "error": {
|
|
2571
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
2572
|
+
* "code": "SERVER_ERROR",
|
|
2573
|
+
* "title": "Server Error",
|
|
2574
|
+
* "status": 500,
|
|
2575
|
+
* "detail": "An unexpected error occurred",
|
|
2576
|
+
* "instance": "/v1/cart/items",
|
|
2577
|
+
* "extensions": {
|
|
2578
|
+
* "message_code": "SERVER_ERROR",
|
|
2579
|
+
* "invalid_params": []
|
|
2580
|
+
* }
|
|
2581
|
+
* }
|
|
2582
|
+
* }
|
|
2583
|
+
*/
|
|
2584
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2585
|
+
};
|
|
2586
|
+
};
|
|
2587
|
+
};
|
|
2588
|
+
};
|
|
2589
|
+
deleteRoleAssignment: {
|
|
2590
|
+
parameters: {
|
|
2591
|
+
query?: never;
|
|
2592
|
+
header?: {
|
|
2593
|
+
authorization?: string | null;
|
|
2594
|
+
};
|
|
2595
|
+
path: {
|
|
2596
|
+
assignment_id: number;
|
|
2597
|
+
};
|
|
2598
|
+
cookie?: never;
|
|
2599
|
+
};
|
|
2600
|
+
requestBody?: never;
|
|
2601
|
+
responses: {
|
|
2602
|
+
/** @description Successful Response */
|
|
2603
|
+
200: {
|
|
2604
|
+
headers: {
|
|
2605
|
+
[name: string]: unknown;
|
|
2606
|
+
};
|
|
2607
|
+
content: {
|
|
2608
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2609
|
+
};
|
|
2610
|
+
};
|
|
2611
|
+
/** @description Bad Request */
|
|
2612
|
+
400: {
|
|
2613
|
+
headers: {
|
|
2614
|
+
[name: string]: unknown;
|
|
2615
|
+
};
|
|
2616
|
+
content: {
|
|
2617
|
+
/**
|
|
2618
|
+
* @example {
|
|
2619
|
+
* "status": "error",
|
|
2620
|
+
* "message": "An error occurred",
|
|
2621
|
+
* "message_code": "GENERIC_ERROR",
|
|
2622
|
+
* "metadata": {
|
|
2623
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2624
|
+
* "requestId": "uuid",
|
|
2625
|
+
* "traceId": "uuid",
|
|
2626
|
+
* "version": "v1",
|
|
2627
|
+
* "executionTime": 0,
|
|
2628
|
+
* "language": "en-US",
|
|
2629
|
+
* "links": [
|
|
2630
|
+
* {
|
|
2631
|
+
* "rel": "self",
|
|
2632
|
+
* "href": "/v1/cart/items",
|
|
2633
|
+
* "method": "POST"
|
|
2634
|
+
* }
|
|
2635
|
+
* ]
|
|
2636
|
+
* },
|
|
2637
|
+
* "error": {
|
|
2638
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
2639
|
+
* "code": "GENERIC_ERROR",
|
|
2640
|
+
* "title": "Client Error",
|
|
2641
|
+
* "status": 400,
|
|
2642
|
+
* "detail": "An error occurred",
|
|
2643
|
+
* "instance": "/v1/cart/items",
|
|
2644
|
+
* "extensions": {
|
|
2645
|
+
* "message_code": "GENERIC_ERROR",
|
|
2646
|
+
* "invalid_params": []
|
|
2647
|
+
* }
|
|
2648
|
+
* }
|
|
2649
|
+
* }
|
|
2650
|
+
*/
|
|
2651
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2652
|
+
};
|
|
2653
|
+
};
|
|
2654
|
+
/** @description Unprocessable Entity */
|
|
2655
|
+
422: {
|
|
2656
|
+
headers: {
|
|
2657
|
+
[name: string]: unknown;
|
|
2658
|
+
};
|
|
2659
|
+
content: {
|
|
2660
|
+
/**
|
|
2661
|
+
* @example {
|
|
2662
|
+
* "status": "error",
|
|
2663
|
+
* "message": "One or more input fields are invalid",
|
|
2664
|
+
* "message_code": "INVALID_INPUT",
|
|
2665
|
+
* "metadata": {
|
|
2666
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2667
|
+
* "requestId": "uuid",
|
|
2668
|
+
* "traceId": "uuid",
|
|
2669
|
+
* "version": "v1",
|
|
2670
|
+
* "executionTime": 0,
|
|
2671
|
+
* "language": "en-US",
|
|
2672
|
+
* "links": [
|
|
2673
|
+
* {
|
|
2674
|
+
* "rel": "self",
|
|
2675
|
+
* "href": "/v1/cart/items",
|
|
2676
|
+
* "method": "POST"
|
|
2677
|
+
* }
|
|
2678
|
+
* ]
|
|
2679
|
+
* },
|
|
2680
|
+
* "error": {
|
|
2681
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
2682
|
+
* "code": "INVALID_INPUT",
|
|
2683
|
+
* "title": "Invalid Input",
|
|
2684
|
+
* "status": 422,
|
|
2685
|
+
* "detail": "One or more input fields are invalid",
|
|
2686
|
+
* "instance": "/v1/cart/items",
|
|
2687
|
+
* "extensions": {
|
|
2688
|
+
* "message_code": "INVALID_INPUT",
|
|
2689
|
+
* "invalid_params": [
|
|
2690
|
+
* {
|
|
2691
|
+
* "field": "items[0].quantity",
|
|
2692
|
+
* "error": "Input should be greater than or equal to 1"
|
|
2693
|
+
* }
|
|
2694
|
+
* ]
|
|
2695
|
+
* }
|
|
2696
|
+
* }
|
|
2697
|
+
* }
|
|
2698
|
+
*/
|
|
2699
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2700
|
+
};
|
|
2701
|
+
};
|
|
2702
|
+
/** @description Too Many Requests */
|
|
2703
|
+
429: {
|
|
2704
|
+
headers: {
|
|
2705
|
+
[name: string]: unknown;
|
|
2706
|
+
};
|
|
2707
|
+
content: {
|
|
2708
|
+
/**
|
|
2709
|
+
* @example {
|
|
2710
|
+
* "status": "error",
|
|
2711
|
+
* "message": "Too many requests",
|
|
2712
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2713
|
+
* "metadata": {
|
|
2714
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2715
|
+
* "requestId": "uuid",
|
|
2716
|
+
* "traceId": "uuid",
|
|
2717
|
+
* "version": "v1",
|
|
2718
|
+
* "executionTime": 0,
|
|
2719
|
+
* "language": "en-US",
|
|
2720
|
+
* "links": [
|
|
2721
|
+
* {
|
|
2722
|
+
* "rel": "self",
|
|
2723
|
+
* "href": "/v1/cart/items",
|
|
2724
|
+
* "method": "POST"
|
|
2725
|
+
* }
|
|
2726
|
+
* ]
|
|
2727
|
+
* },
|
|
2728
|
+
* "error": {
|
|
2729
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
2730
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
2731
|
+
* "title": "Rate Limit Exceeded",
|
|
2732
|
+
* "status": 429,
|
|
2733
|
+
* "detail": "Too many requests",
|
|
2734
|
+
* "instance": "/v1/cart/items",
|
|
2735
|
+
* "extensions": {
|
|
2736
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2737
|
+
* "invalid_params": []
|
|
2738
|
+
* }
|
|
2739
|
+
* }
|
|
2740
|
+
* }
|
|
2741
|
+
*/
|
|
2742
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2743
|
+
};
|
|
2744
|
+
};
|
|
2745
|
+
/** @description Internal Server Error */
|
|
2746
|
+
500: {
|
|
2747
|
+
headers: {
|
|
2748
|
+
[name: string]: unknown;
|
|
2749
|
+
};
|
|
2750
|
+
content: {
|
|
2751
|
+
/**
|
|
2752
|
+
* @example {
|
|
2753
|
+
* "status": "error",
|
|
2754
|
+
* "message": "An unexpected error occurred",
|
|
2755
|
+
* "message_code": "SERVER_ERROR",
|
|
2756
|
+
* "metadata": {
|
|
2757
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2758
|
+
* "requestId": "uuid",
|
|
2759
|
+
* "traceId": "uuid",
|
|
2760
|
+
* "version": "v1",
|
|
2761
|
+
* "executionTime": 0,
|
|
2762
|
+
* "language": "en-US",
|
|
2763
|
+
* "links": [
|
|
2764
|
+
* {
|
|
2765
|
+
* "rel": "self",
|
|
2766
|
+
* "href": "/v1/cart/items",
|
|
2767
|
+
* "method": "POST"
|
|
2768
|
+
* }
|
|
2769
|
+
* ]
|
|
2770
|
+
* },
|
|
2771
|
+
* "error": {
|
|
2772
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
2773
|
+
* "code": "SERVER_ERROR",
|
|
2774
|
+
* "title": "Server Error",
|
|
2775
|
+
* "status": 500,
|
|
2776
|
+
* "detail": "An unexpected error occurred",
|
|
2777
|
+
* "instance": "/v1/cart/items",
|
|
2778
|
+
* "extensions": {
|
|
2779
|
+
* "message_code": "SERVER_ERROR",
|
|
2780
|
+
* "invalid_params": []
|
|
2781
|
+
* }
|
|
2782
|
+
* }
|
|
2783
|
+
* }
|
|
2784
|
+
*/
|
|
2785
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2786
|
+
};
|
|
2787
|
+
};
|
|
2788
|
+
};
|
|
2789
|
+
};
|
|
2790
|
+
listAvailableWidgets: {
|
|
2791
|
+
parameters: {
|
|
2792
|
+
query?: never;
|
|
2793
|
+
header?: {
|
|
2794
|
+
authorization?: string | null;
|
|
2795
|
+
};
|
|
2796
|
+
path?: never;
|
|
2797
|
+
cookie?: never;
|
|
2798
|
+
};
|
|
2799
|
+
requestBody?: never;
|
|
2800
|
+
responses: {
|
|
2801
|
+
/** @description Successful Response */
|
|
2802
|
+
200: {
|
|
2803
|
+
headers: {
|
|
2804
|
+
[name: string]: unknown;
|
|
2805
|
+
};
|
|
2806
|
+
content: {
|
|
2807
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2808
|
+
};
|
|
2809
|
+
};
|
|
2810
|
+
/** @description Bad Request */
|
|
2811
|
+
400: {
|
|
2812
|
+
headers: {
|
|
2813
|
+
[name: string]: unknown;
|
|
2814
|
+
};
|
|
2815
|
+
content: {
|
|
2816
|
+
/**
|
|
2817
|
+
* @example {
|
|
2818
|
+
* "status": "error",
|
|
2819
|
+
* "message": "An error occurred",
|
|
2820
|
+
* "message_code": "GENERIC_ERROR",
|
|
2821
|
+
* "metadata": {
|
|
2822
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2823
|
+
* "requestId": "uuid",
|
|
2824
|
+
* "traceId": "uuid",
|
|
2825
|
+
* "version": "v1",
|
|
2826
|
+
* "executionTime": 0,
|
|
2827
|
+
* "language": "en-US",
|
|
2828
|
+
* "links": [
|
|
2829
|
+
* {
|
|
2830
|
+
* "rel": "self",
|
|
2831
|
+
* "href": "/v1/cart/items",
|
|
2832
|
+
* "method": "POST"
|
|
2833
|
+
* }
|
|
2834
|
+
* ]
|
|
2835
|
+
* },
|
|
2836
|
+
* "error": {
|
|
2837
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
2838
|
+
* "code": "GENERIC_ERROR",
|
|
2839
|
+
* "title": "Client Error",
|
|
2840
|
+
* "status": 400,
|
|
2841
|
+
* "detail": "An error occurred",
|
|
2842
|
+
* "instance": "/v1/cart/items",
|
|
2843
|
+
* "extensions": {
|
|
2844
|
+
* "message_code": "GENERIC_ERROR",
|
|
2845
|
+
* "invalid_params": []
|
|
2846
|
+
* }
|
|
2847
|
+
* }
|
|
2848
|
+
* }
|
|
2849
|
+
*/
|
|
2850
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2851
|
+
};
|
|
2852
|
+
};
|
|
2853
|
+
/** @description Unprocessable Entity */
|
|
2854
|
+
422: {
|
|
2855
|
+
headers: {
|
|
2856
|
+
[name: string]: unknown;
|
|
2857
|
+
};
|
|
2858
|
+
content: {
|
|
2859
|
+
/**
|
|
2860
|
+
* @example {
|
|
2861
|
+
* "status": "error",
|
|
2862
|
+
* "message": "One or more input fields are invalid",
|
|
2863
|
+
* "message_code": "INVALID_INPUT",
|
|
2864
|
+
* "metadata": {
|
|
2865
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2866
|
+
* "requestId": "uuid",
|
|
2867
|
+
* "traceId": "uuid",
|
|
2868
|
+
* "version": "v1",
|
|
2869
|
+
* "executionTime": 0,
|
|
2870
|
+
* "language": "en-US",
|
|
2871
|
+
* "links": [
|
|
2872
|
+
* {
|
|
2873
|
+
* "rel": "self",
|
|
2874
|
+
* "href": "/v1/cart/items",
|
|
2875
|
+
* "method": "POST"
|
|
2876
|
+
* }
|
|
2877
|
+
* ]
|
|
2878
|
+
* },
|
|
2879
|
+
* "error": {
|
|
2880
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
2881
|
+
* "code": "INVALID_INPUT",
|
|
2882
|
+
* "title": "Invalid Input",
|
|
2883
|
+
* "status": 422,
|
|
2884
|
+
* "detail": "One or more input fields are invalid",
|
|
2885
|
+
* "instance": "/v1/cart/items",
|
|
2886
|
+
* "extensions": {
|
|
2887
|
+
* "message_code": "INVALID_INPUT",
|
|
2888
|
+
* "invalid_params": [
|
|
2889
|
+
* {
|
|
2890
|
+
* "field": "items[0].quantity",
|
|
2891
|
+
* "error": "Input should be greater than or equal to 1"
|
|
2892
|
+
* }
|
|
2893
|
+
* ]
|
|
2894
|
+
* }
|
|
2895
|
+
* }
|
|
2896
|
+
* }
|
|
2897
|
+
*/
|
|
2898
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2899
|
+
};
|
|
2900
|
+
};
|
|
2901
|
+
/** @description Too Many Requests */
|
|
2902
|
+
429: {
|
|
2903
|
+
headers: {
|
|
2904
|
+
[name: string]: unknown;
|
|
2905
|
+
};
|
|
2906
|
+
content: {
|
|
2907
|
+
/**
|
|
2908
|
+
* @example {
|
|
2909
|
+
* "status": "error",
|
|
2910
|
+
* "message": "Too many requests",
|
|
2911
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2912
|
+
* "metadata": {
|
|
2913
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2914
|
+
* "requestId": "uuid",
|
|
2915
|
+
* "traceId": "uuid",
|
|
2916
|
+
* "version": "v1",
|
|
2917
|
+
* "executionTime": 0,
|
|
2918
|
+
* "language": "en-US",
|
|
2919
|
+
* "links": [
|
|
2920
|
+
* {
|
|
2921
|
+
* "rel": "self",
|
|
2922
|
+
* "href": "/v1/cart/items",
|
|
2923
|
+
* "method": "POST"
|
|
2924
|
+
* }
|
|
2925
|
+
* ]
|
|
2926
|
+
* },
|
|
2927
|
+
* "error": {
|
|
2928
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
2929
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
2930
|
+
* "title": "Rate Limit Exceeded",
|
|
2931
|
+
* "status": 429,
|
|
2932
|
+
* "detail": "Too many requests",
|
|
2933
|
+
* "instance": "/v1/cart/items",
|
|
2934
|
+
* "extensions": {
|
|
2935
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
2936
|
+
* "invalid_params": []
|
|
2937
|
+
* }
|
|
2938
|
+
* }
|
|
2939
|
+
* }
|
|
2940
|
+
*/
|
|
2941
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2942
|
+
};
|
|
2943
|
+
};
|
|
2944
|
+
/** @description Internal Server Error */
|
|
2945
|
+
500: {
|
|
2946
|
+
headers: {
|
|
2947
|
+
[name: string]: unknown;
|
|
2948
|
+
};
|
|
2949
|
+
content: {
|
|
2950
|
+
/**
|
|
2951
|
+
* @example {
|
|
2952
|
+
* "status": "error",
|
|
2953
|
+
* "message": "An unexpected error occurred",
|
|
2954
|
+
* "message_code": "SERVER_ERROR",
|
|
2955
|
+
* "metadata": {
|
|
2956
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
2957
|
+
* "requestId": "uuid",
|
|
2958
|
+
* "traceId": "uuid",
|
|
2959
|
+
* "version": "v1",
|
|
2960
|
+
* "executionTime": 0,
|
|
2961
|
+
* "language": "en-US",
|
|
2962
|
+
* "links": [
|
|
2963
|
+
* {
|
|
2964
|
+
* "rel": "self",
|
|
2965
|
+
* "href": "/v1/cart/items",
|
|
2966
|
+
* "method": "POST"
|
|
2967
|
+
* }
|
|
2968
|
+
* ]
|
|
2969
|
+
* },
|
|
2970
|
+
* "error": {
|
|
2971
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
2972
|
+
* "code": "SERVER_ERROR",
|
|
2973
|
+
* "title": "Server Error",
|
|
2974
|
+
* "status": 500,
|
|
2975
|
+
* "detail": "An unexpected error occurred",
|
|
2976
|
+
* "instance": "/v1/cart/items",
|
|
2977
|
+
* "extensions": {
|
|
2978
|
+
* "message_code": "SERVER_ERROR",
|
|
2979
|
+
* "invalid_params": []
|
|
2980
|
+
* }
|
|
2981
|
+
* }
|
|
2982
|
+
* }
|
|
2983
|
+
*/
|
|
2984
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
2985
|
+
};
|
|
2986
|
+
};
|
|
2987
|
+
};
|
|
2988
|
+
};
|
|
2989
|
+
createCustomWidget: {
|
|
2990
|
+
parameters: {
|
|
2991
|
+
query?: never;
|
|
2992
|
+
header?: {
|
|
2993
|
+
authorization?: string | null;
|
|
2994
|
+
};
|
|
2995
|
+
path?: never;
|
|
2996
|
+
cookie?: never;
|
|
2997
|
+
};
|
|
2998
|
+
requestBody: {
|
|
2999
|
+
content: {
|
|
3000
|
+
"application/json": components["schemas"]["WidgetCreateRequest"];
|
|
3001
|
+
};
|
|
3002
|
+
};
|
|
3003
|
+
responses: {
|
|
3004
|
+
/** @description Successful Response */
|
|
3005
|
+
201: {
|
|
3006
|
+
headers: {
|
|
3007
|
+
[name: string]: unknown;
|
|
3008
|
+
};
|
|
3009
|
+
content: {
|
|
3010
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3011
|
+
};
|
|
3012
|
+
};
|
|
3013
|
+
/** @description Bad Request */
|
|
3014
|
+
400: {
|
|
3015
|
+
headers: {
|
|
3016
|
+
[name: string]: unknown;
|
|
3017
|
+
};
|
|
3018
|
+
content: {
|
|
3019
|
+
/**
|
|
3020
|
+
* @example {
|
|
3021
|
+
* "status": "error",
|
|
3022
|
+
* "message": "An error occurred",
|
|
3023
|
+
* "message_code": "GENERIC_ERROR",
|
|
3024
|
+
* "metadata": {
|
|
3025
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3026
|
+
* "requestId": "uuid",
|
|
3027
|
+
* "traceId": "uuid",
|
|
3028
|
+
* "version": "v1",
|
|
3029
|
+
* "executionTime": 0,
|
|
3030
|
+
* "language": "en-US",
|
|
3031
|
+
* "links": [
|
|
3032
|
+
* {
|
|
3033
|
+
* "rel": "self",
|
|
3034
|
+
* "href": "/v1/cart/items",
|
|
3035
|
+
* "method": "POST"
|
|
3036
|
+
* }
|
|
3037
|
+
* ]
|
|
3038
|
+
* },
|
|
3039
|
+
* "error": {
|
|
3040
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
3041
|
+
* "code": "GENERIC_ERROR",
|
|
3042
|
+
* "title": "Client Error",
|
|
3043
|
+
* "status": 400,
|
|
3044
|
+
* "detail": "An error occurred",
|
|
3045
|
+
* "instance": "/v1/cart/items",
|
|
3046
|
+
* "extensions": {
|
|
3047
|
+
* "message_code": "GENERIC_ERROR",
|
|
3048
|
+
* "invalid_params": []
|
|
3049
|
+
* }
|
|
3050
|
+
* }
|
|
3051
|
+
* }
|
|
3052
|
+
*/
|
|
3053
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3054
|
+
};
|
|
3055
|
+
};
|
|
3056
|
+
/** @description Unprocessable Entity */
|
|
3057
|
+
422: {
|
|
3058
|
+
headers: {
|
|
3059
|
+
[name: string]: unknown;
|
|
3060
|
+
};
|
|
3061
|
+
content: {
|
|
3062
|
+
/**
|
|
3063
|
+
* @example {
|
|
3064
|
+
* "status": "error",
|
|
3065
|
+
* "message": "One or more input fields are invalid",
|
|
3066
|
+
* "message_code": "INVALID_INPUT",
|
|
3067
|
+
* "metadata": {
|
|
3068
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3069
|
+
* "requestId": "uuid",
|
|
3070
|
+
* "traceId": "uuid",
|
|
3071
|
+
* "version": "v1",
|
|
3072
|
+
* "executionTime": 0,
|
|
3073
|
+
* "language": "en-US",
|
|
3074
|
+
* "links": [
|
|
3075
|
+
* {
|
|
3076
|
+
* "rel": "self",
|
|
3077
|
+
* "href": "/v1/cart/items",
|
|
3078
|
+
* "method": "POST"
|
|
3079
|
+
* }
|
|
3080
|
+
* ]
|
|
3081
|
+
* },
|
|
3082
|
+
* "error": {
|
|
3083
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
3084
|
+
* "code": "INVALID_INPUT",
|
|
3085
|
+
* "title": "Invalid Input",
|
|
3086
|
+
* "status": 422,
|
|
3087
|
+
* "detail": "One or more input fields are invalid",
|
|
3088
|
+
* "instance": "/v1/cart/items",
|
|
3089
|
+
* "extensions": {
|
|
3090
|
+
* "message_code": "INVALID_INPUT",
|
|
3091
|
+
* "invalid_params": [
|
|
3092
|
+
* {
|
|
3093
|
+
* "field": "items[0].quantity",
|
|
3094
|
+
* "error": "Input should be greater than or equal to 1"
|
|
3095
|
+
* }
|
|
3096
|
+
* ]
|
|
3097
|
+
* }
|
|
3098
|
+
* }
|
|
3099
|
+
* }
|
|
3100
|
+
*/
|
|
3101
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3102
|
+
};
|
|
3103
|
+
};
|
|
3104
|
+
/** @description Too Many Requests */
|
|
3105
|
+
429: {
|
|
3106
|
+
headers: {
|
|
3107
|
+
[name: string]: unknown;
|
|
3108
|
+
};
|
|
3109
|
+
content: {
|
|
3110
|
+
/**
|
|
3111
|
+
* @example {
|
|
3112
|
+
* "status": "error",
|
|
3113
|
+
* "message": "Too many requests",
|
|
3114
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3115
|
+
* "metadata": {
|
|
3116
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3117
|
+
* "requestId": "uuid",
|
|
3118
|
+
* "traceId": "uuid",
|
|
3119
|
+
* "version": "v1",
|
|
3120
|
+
* "executionTime": 0,
|
|
3121
|
+
* "language": "en-US",
|
|
3122
|
+
* "links": [
|
|
3123
|
+
* {
|
|
3124
|
+
* "rel": "self",
|
|
3125
|
+
* "href": "/v1/cart/items",
|
|
3126
|
+
* "method": "POST"
|
|
3127
|
+
* }
|
|
3128
|
+
* ]
|
|
3129
|
+
* },
|
|
3130
|
+
* "error": {
|
|
3131
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
3132
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
3133
|
+
* "title": "Rate Limit Exceeded",
|
|
3134
|
+
* "status": 429,
|
|
3135
|
+
* "detail": "Too many requests",
|
|
3136
|
+
* "instance": "/v1/cart/items",
|
|
3137
|
+
* "extensions": {
|
|
3138
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3139
|
+
* "invalid_params": []
|
|
3140
|
+
* }
|
|
3141
|
+
* }
|
|
3142
|
+
* }
|
|
3143
|
+
*/
|
|
3144
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3145
|
+
};
|
|
3146
|
+
};
|
|
3147
|
+
/** @description Internal Server Error */
|
|
3148
|
+
500: {
|
|
3149
|
+
headers: {
|
|
3150
|
+
[name: string]: unknown;
|
|
3151
|
+
};
|
|
3152
|
+
content: {
|
|
3153
|
+
/**
|
|
3154
|
+
* @example {
|
|
3155
|
+
* "status": "error",
|
|
3156
|
+
* "message": "An unexpected error occurred",
|
|
3157
|
+
* "message_code": "SERVER_ERROR",
|
|
3158
|
+
* "metadata": {
|
|
3159
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3160
|
+
* "requestId": "uuid",
|
|
3161
|
+
* "traceId": "uuid",
|
|
3162
|
+
* "version": "v1",
|
|
3163
|
+
* "executionTime": 0,
|
|
3164
|
+
* "language": "en-US",
|
|
3165
|
+
* "links": [
|
|
3166
|
+
* {
|
|
3167
|
+
* "rel": "self",
|
|
3168
|
+
* "href": "/v1/cart/items",
|
|
3169
|
+
* "method": "POST"
|
|
3170
|
+
* }
|
|
3171
|
+
* ]
|
|
3172
|
+
* },
|
|
3173
|
+
* "error": {
|
|
3174
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
3175
|
+
* "code": "SERVER_ERROR",
|
|
3176
|
+
* "title": "Server Error",
|
|
3177
|
+
* "status": 500,
|
|
3178
|
+
* "detail": "An unexpected error occurred",
|
|
3179
|
+
* "instance": "/v1/cart/items",
|
|
3180
|
+
* "extensions": {
|
|
3181
|
+
* "message_code": "SERVER_ERROR",
|
|
3182
|
+
* "invalid_params": []
|
|
3183
|
+
* }
|
|
3184
|
+
* }
|
|
3185
|
+
* }
|
|
3186
|
+
*/
|
|
3187
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3188
|
+
};
|
|
3189
|
+
};
|
|
3190
|
+
};
|
|
3191
|
+
};
|
|
3192
|
+
deleteCustomWidget: {
|
|
3193
|
+
parameters: {
|
|
3194
|
+
query?: never;
|
|
3195
|
+
header?: {
|
|
3196
|
+
authorization?: string | null;
|
|
3197
|
+
};
|
|
3198
|
+
path: {
|
|
3199
|
+
widget_id: string;
|
|
3200
|
+
};
|
|
3201
|
+
cookie?: never;
|
|
3202
|
+
};
|
|
3203
|
+
requestBody?: never;
|
|
3204
|
+
responses: {
|
|
3205
|
+
/** @description Successful Response */
|
|
3206
|
+
200: {
|
|
3207
|
+
headers: {
|
|
3208
|
+
[name: string]: unknown;
|
|
3209
|
+
};
|
|
3210
|
+
content: {
|
|
3211
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3212
|
+
};
|
|
3213
|
+
};
|
|
3214
|
+
/** @description Bad Request */
|
|
3215
|
+
400: {
|
|
3216
|
+
headers: {
|
|
3217
|
+
[name: string]: unknown;
|
|
3218
|
+
};
|
|
3219
|
+
content: {
|
|
3220
|
+
/**
|
|
3221
|
+
* @example {
|
|
3222
|
+
* "status": "error",
|
|
3223
|
+
* "message": "An error occurred",
|
|
3224
|
+
* "message_code": "GENERIC_ERROR",
|
|
3225
|
+
* "metadata": {
|
|
3226
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3227
|
+
* "requestId": "uuid",
|
|
3228
|
+
* "traceId": "uuid",
|
|
3229
|
+
* "version": "v1",
|
|
3230
|
+
* "executionTime": 0,
|
|
3231
|
+
* "language": "en-US",
|
|
3232
|
+
* "links": [
|
|
3233
|
+
* {
|
|
3234
|
+
* "rel": "self",
|
|
3235
|
+
* "href": "/v1/cart/items",
|
|
3236
|
+
* "method": "POST"
|
|
3237
|
+
* }
|
|
3238
|
+
* ]
|
|
3239
|
+
* },
|
|
3240
|
+
* "error": {
|
|
3241
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
3242
|
+
* "code": "GENERIC_ERROR",
|
|
3243
|
+
* "title": "Client Error",
|
|
3244
|
+
* "status": 400,
|
|
3245
|
+
* "detail": "An error occurred",
|
|
3246
|
+
* "instance": "/v1/cart/items",
|
|
3247
|
+
* "extensions": {
|
|
3248
|
+
* "message_code": "GENERIC_ERROR",
|
|
3249
|
+
* "invalid_params": []
|
|
3250
|
+
* }
|
|
3251
|
+
* }
|
|
3252
|
+
* }
|
|
3253
|
+
*/
|
|
3254
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3255
|
+
};
|
|
3256
|
+
};
|
|
3257
|
+
/** @description Unprocessable Entity */
|
|
3258
|
+
422: {
|
|
3259
|
+
headers: {
|
|
3260
|
+
[name: string]: unknown;
|
|
3261
|
+
};
|
|
3262
|
+
content: {
|
|
3263
|
+
/**
|
|
3264
|
+
* @example {
|
|
3265
|
+
* "status": "error",
|
|
3266
|
+
* "message": "One or more input fields are invalid",
|
|
3267
|
+
* "message_code": "INVALID_INPUT",
|
|
3268
|
+
* "metadata": {
|
|
3269
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3270
|
+
* "requestId": "uuid",
|
|
3271
|
+
* "traceId": "uuid",
|
|
3272
|
+
* "version": "v1",
|
|
3273
|
+
* "executionTime": 0,
|
|
3274
|
+
* "language": "en-US",
|
|
3275
|
+
* "links": [
|
|
3276
|
+
* {
|
|
3277
|
+
* "rel": "self",
|
|
3278
|
+
* "href": "/v1/cart/items",
|
|
3279
|
+
* "method": "POST"
|
|
3280
|
+
* }
|
|
3281
|
+
* ]
|
|
3282
|
+
* },
|
|
3283
|
+
* "error": {
|
|
3284
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
3285
|
+
* "code": "INVALID_INPUT",
|
|
3286
|
+
* "title": "Invalid Input",
|
|
3287
|
+
* "status": 422,
|
|
3288
|
+
* "detail": "One or more input fields are invalid",
|
|
3289
|
+
* "instance": "/v1/cart/items",
|
|
3290
|
+
* "extensions": {
|
|
3291
|
+
* "message_code": "INVALID_INPUT",
|
|
3292
|
+
* "invalid_params": [
|
|
3293
|
+
* {
|
|
3294
|
+
* "field": "items[0].quantity",
|
|
3295
|
+
* "error": "Input should be greater than or equal to 1"
|
|
3296
|
+
* }
|
|
3297
|
+
* ]
|
|
3298
|
+
* }
|
|
3299
|
+
* }
|
|
3300
|
+
* }
|
|
3301
|
+
*/
|
|
3302
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3303
|
+
};
|
|
3304
|
+
};
|
|
3305
|
+
/** @description Too Many Requests */
|
|
3306
|
+
429: {
|
|
3307
|
+
headers: {
|
|
3308
|
+
[name: string]: unknown;
|
|
3309
|
+
};
|
|
3310
|
+
content: {
|
|
3311
|
+
/**
|
|
3312
|
+
* @example {
|
|
3313
|
+
* "status": "error",
|
|
3314
|
+
* "message": "Too many requests",
|
|
3315
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3316
|
+
* "metadata": {
|
|
3317
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3318
|
+
* "requestId": "uuid",
|
|
3319
|
+
* "traceId": "uuid",
|
|
3320
|
+
* "version": "v1",
|
|
3321
|
+
* "executionTime": 0,
|
|
3322
|
+
* "language": "en-US",
|
|
3323
|
+
* "links": [
|
|
3324
|
+
* {
|
|
3325
|
+
* "rel": "self",
|
|
3326
|
+
* "href": "/v1/cart/items",
|
|
3327
|
+
* "method": "POST"
|
|
3328
|
+
* }
|
|
3329
|
+
* ]
|
|
3330
|
+
* },
|
|
3331
|
+
* "error": {
|
|
3332
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
3333
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
3334
|
+
* "title": "Rate Limit Exceeded",
|
|
3335
|
+
* "status": 429,
|
|
3336
|
+
* "detail": "Too many requests",
|
|
3337
|
+
* "instance": "/v1/cart/items",
|
|
3338
|
+
* "extensions": {
|
|
3339
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3340
|
+
* "invalid_params": []
|
|
3341
|
+
* }
|
|
3342
|
+
* }
|
|
3343
|
+
* }
|
|
3344
|
+
*/
|
|
3345
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3346
|
+
};
|
|
3347
|
+
};
|
|
3348
|
+
/** @description Internal Server Error */
|
|
3349
|
+
500: {
|
|
3350
|
+
headers: {
|
|
3351
|
+
[name: string]: unknown;
|
|
3352
|
+
};
|
|
3353
|
+
content: {
|
|
3354
|
+
/**
|
|
3355
|
+
* @example {
|
|
3356
|
+
* "status": "error",
|
|
3357
|
+
* "message": "An unexpected error occurred",
|
|
3358
|
+
* "message_code": "SERVER_ERROR",
|
|
3359
|
+
* "metadata": {
|
|
3360
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3361
|
+
* "requestId": "uuid",
|
|
3362
|
+
* "traceId": "uuid",
|
|
3363
|
+
* "version": "v1",
|
|
3364
|
+
* "executionTime": 0,
|
|
3365
|
+
* "language": "en-US",
|
|
3366
|
+
* "links": [
|
|
3367
|
+
* {
|
|
3368
|
+
* "rel": "self",
|
|
3369
|
+
* "href": "/v1/cart/items",
|
|
3370
|
+
* "method": "POST"
|
|
3371
|
+
* }
|
|
3372
|
+
* ]
|
|
3373
|
+
* },
|
|
3374
|
+
* "error": {
|
|
3375
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
3376
|
+
* "code": "SERVER_ERROR",
|
|
3377
|
+
* "title": "Server Error",
|
|
3378
|
+
* "status": 500,
|
|
3379
|
+
* "detail": "An unexpected error occurred",
|
|
3380
|
+
* "instance": "/v1/cart/items",
|
|
3381
|
+
* "extensions": {
|
|
3382
|
+
* "message_code": "SERVER_ERROR",
|
|
3383
|
+
* "invalid_params": []
|
|
3384
|
+
* }
|
|
3385
|
+
* }
|
|
3386
|
+
* }
|
|
3387
|
+
*/
|
|
3388
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3389
|
+
};
|
|
3390
|
+
};
|
|
3391
|
+
};
|
|
3392
|
+
};
|
|
3393
|
+
updateCustomWidget: {
|
|
3394
|
+
parameters: {
|
|
3395
|
+
query?: never;
|
|
3396
|
+
header?: {
|
|
3397
|
+
authorization?: string | null;
|
|
3398
|
+
};
|
|
3399
|
+
path: {
|
|
3400
|
+
widget_id: string;
|
|
3401
|
+
};
|
|
3402
|
+
cookie?: never;
|
|
3403
|
+
};
|
|
3404
|
+
requestBody: {
|
|
3405
|
+
content: {
|
|
3406
|
+
"application/json": components["schemas"]["WidgetUpdateRequest"];
|
|
3407
|
+
};
|
|
3408
|
+
};
|
|
3409
|
+
responses: {
|
|
3410
|
+
/** @description Successful Response */
|
|
3411
|
+
200: {
|
|
3412
|
+
headers: {
|
|
3413
|
+
[name: string]: unknown;
|
|
3414
|
+
};
|
|
3415
|
+
content: {
|
|
3416
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3417
|
+
};
|
|
3418
|
+
};
|
|
3419
|
+
/** @description Bad Request */
|
|
3420
|
+
400: {
|
|
3421
|
+
headers: {
|
|
3422
|
+
[name: string]: unknown;
|
|
3423
|
+
};
|
|
3424
|
+
content: {
|
|
3425
|
+
/**
|
|
3426
|
+
* @example {
|
|
3427
|
+
* "status": "error",
|
|
3428
|
+
* "message": "An error occurred",
|
|
3429
|
+
* "message_code": "GENERIC_ERROR",
|
|
3430
|
+
* "metadata": {
|
|
3431
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3432
|
+
* "requestId": "uuid",
|
|
3433
|
+
* "traceId": "uuid",
|
|
3434
|
+
* "version": "v1",
|
|
3435
|
+
* "executionTime": 0,
|
|
3436
|
+
* "language": "en-US",
|
|
3437
|
+
* "links": [
|
|
3438
|
+
* {
|
|
3439
|
+
* "rel": "self",
|
|
3440
|
+
* "href": "/v1/cart/items",
|
|
3441
|
+
* "method": "POST"
|
|
3442
|
+
* }
|
|
3443
|
+
* ]
|
|
3444
|
+
* },
|
|
3445
|
+
* "error": {
|
|
3446
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
3447
|
+
* "code": "GENERIC_ERROR",
|
|
3448
|
+
* "title": "Client Error",
|
|
3449
|
+
* "status": 400,
|
|
3450
|
+
* "detail": "An error occurred",
|
|
3451
|
+
* "instance": "/v1/cart/items",
|
|
3452
|
+
* "extensions": {
|
|
3453
|
+
* "message_code": "GENERIC_ERROR",
|
|
3454
|
+
* "invalid_params": []
|
|
3455
|
+
* }
|
|
3456
|
+
* }
|
|
3457
|
+
* }
|
|
3458
|
+
*/
|
|
3459
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3460
|
+
};
|
|
3461
|
+
};
|
|
3462
|
+
/** @description Unprocessable Entity */
|
|
3463
|
+
422: {
|
|
3464
|
+
headers: {
|
|
3465
|
+
[name: string]: unknown;
|
|
3466
|
+
};
|
|
3467
|
+
content: {
|
|
3468
|
+
/**
|
|
3469
|
+
* @example {
|
|
3470
|
+
* "status": "error",
|
|
3471
|
+
* "message": "One or more input fields are invalid",
|
|
3472
|
+
* "message_code": "INVALID_INPUT",
|
|
3473
|
+
* "metadata": {
|
|
3474
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3475
|
+
* "requestId": "uuid",
|
|
3476
|
+
* "traceId": "uuid",
|
|
3477
|
+
* "version": "v1",
|
|
3478
|
+
* "executionTime": 0,
|
|
3479
|
+
* "language": "en-US",
|
|
3480
|
+
* "links": [
|
|
3481
|
+
* {
|
|
3482
|
+
* "rel": "self",
|
|
3483
|
+
* "href": "/v1/cart/items",
|
|
3484
|
+
* "method": "POST"
|
|
3485
|
+
* }
|
|
3486
|
+
* ]
|
|
3487
|
+
* },
|
|
3488
|
+
* "error": {
|
|
3489
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
3490
|
+
* "code": "INVALID_INPUT",
|
|
3491
|
+
* "title": "Invalid Input",
|
|
3492
|
+
* "status": 422,
|
|
3493
|
+
* "detail": "One or more input fields are invalid",
|
|
3494
|
+
* "instance": "/v1/cart/items",
|
|
3495
|
+
* "extensions": {
|
|
3496
|
+
* "message_code": "INVALID_INPUT",
|
|
3497
|
+
* "invalid_params": [
|
|
3498
|
+
* {
|
|
3499
|
+
* "field": "items[0].quantity",
|
|
3500
|
+
* "error": "Input should be greater than or equal to 1"
|
|
3501
|
+
* }
|
|
3502
|
+
* ]
|
|
3503
|
+
* }
|
|
3504
|
+
* }
|
|
3505
|
+
* }
|
|
3506
|
+
*/
|
|
3507
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3508
|
+
};
|
|
3509
|
+
};
|
|
3510
|
+
/** @description Too Many Requests */
|
|
3511
|
+
429: {
|
|
3512
|
+
headers: {
|
|
3513
|
+
[name: string]: unknown;
|
|
3514
|
+
};
|
|
3515
|
+
content: {
|
|
3516
|
+
/**
|
|
3517
|
+
* @example {
|
|
3518
|
+
* "status": "error",
|
|
3519
|
+
* "message": "Too many requests",
|
|
3520
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3521
|
+
* "metadata": {
|
|
3522
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3523
|
+
* "requestId": "uuid",
|
|
3524
|
+
* "traceId": "uuid",
|
|
3525
|
+
* "version": "v1",
|
|
3526
|
+
* "executionTime": 0,
|
|
3527
|
+
* "language": "en-US",
|
|
3528
|
+
* "links": [
|
|
3529
|
+
* {
|
|
3530
|
+
* "rel": "self",
|
|
3531
|
+
* "href": "/v1/cart/items",
|
|
3532
|
+
* "method": "POST"
|
|
3533
|
+
* }
|
|
3534
|
+
* ]
|
|
3535
|
+
* },
|
|
3536
|
+
* "error": {
|
|
3537
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
3538
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
3539
|
+
* "title": "Rate Limit Exceeded",
|
|
3540
|
+
* "status": 429,
|
|
3541
|
+
* "detail": "Too many requests",
|
|
3542
|
+
* "instance": "/v1/cart/items",
|
|
3543
|
+
* "extensions": {
|
|
3544
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3545
|
+
* "invalid_params": []
|
|
3546
|
+
* }
|
|
3547
|
+
* }
|
|
3548
|
+
* }
|
|
3549
|
+
*/
|
|
3550
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3551
|
+
};
|
|
3552
|
+
};
|
|
3553
|
+
/** @description Internal Server Error */
|
|
3554
|
+
500: {
|
|
3555
|
+
headers: {
|
|
3556
|
+
[name: string]: unknown;
|
|
3557
|
+
};
|
|
3558
|
+
content: {
|
|
3559
|
+
/**
|
|
3560
|
+
* @example {
|
|
3561
|
+
* "status": "error",
|
|
3562
|
+
* "message": "An unexpected error occurred",
|
|
3563
|
+
* "message_code": "SERVER_ERROR",
|
|
3564
|
+
* "metadata": {
|
|
3565
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3566
|
+
* "requestId": "uuid",
|
|
3567
|
+
* "traceId": "uuid",
|
|
3568
|
+
* "version": "v1",
|
|
3569
|
+
* "executionTime": 0,
|
|
3570
|
+
* "language": "en-US",
|
|
3571
|
+
* "links": [
|
|
3572
|
+
* {
|
|
3573
|
+
* "rel": "self",
|
|
3574
|
+
* "href": "/v1/cart/items",
|
|
3575
|
+
* "method": "POST"
|
|
3576
|
+
* }
|
|
3577
|
+
* ]
|
|
3578
|
+
* },
|
|
3579
|
+
* "error": {
|
|
3580
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
3581
|
+
* "code": "SERVER_ERROR",
|
|
3582
|
+
* "title": "Server Error",
|
|
3583
|
+
* "status": 500,
|
|
3584
|
+
* "detail": "An unexpected error occurred",
|
|
3585
|
+
* "instance": "/v1/cart/items",
|
|
3586
|
+
* "extensions": {
|
|
3587
|
+
* "message_code": "SERVER_ERROR",
|
|
3588
|
+
* "invalid_params": []
|
|
3589
|
+
* }
|
|
3590
|
+
* }
|
|
3591
|
+
* }
|
|
3592
|
+
*/
|
|
3593
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3594
|
+
};
|
|
3595
|
+
};
|
|
3596
|
+
};
|
|
3597
|
+
};
|
|
3598
|
+
getDashboard: {
|
|
3599
|
+
parameters: {
|
|
3600
|
+
query?: never;
|
|
3601
|
+
header?: {
|
|
3602
|
+
authorization?: string | null;
|
|
3603
|
+
};
|
|
3604
|
+
path?: never;
|
|
3605
|
+
cookie?: never;
|
|
3606
|
+
};
|
|
3607
|
+
requestBody?: never;
|
|
3608
|
+
responses: {
|
|
3609
|
+
/** @description Successful Response */
|
|
3610
|
+
200: {
|
|
3611
|
+
headers: {
|
|
3612
|
+
[name: string]: unknown;
|
|
3613
|
+
};
|
|
3614
|
+
content: {
|
|
3615
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3616
|
+
};
|
|
3617
|
+
};
|
|
3618
|
+
/** @description Bad Request */
|
|
3619
|
+
400: {
|
|
3620
|
+
headers: {
|
|
3621
|
+
[name: string]: unknown;
|
|
3622
|
+
};
|
|
3623
|
+
content: {
|
|
3624
|
+
/**
|
|
3625
|
+
* @example {
|
|
3626
|
+
* "status": "error",
|
|
3627
|
+
* "message": "An error occurred",
|
|
3628
|
+
* "message_code": "GENERIC_ERROR",
|
|
3629
|
+
* "metadata": {
|
|
3630
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3631
|
+
* "requestId": "uuid",
|
|
3632
|
+
* "traceId": "uuid",
|
|
3633
|
+
* "version": "v1",
|
|
3634
|
+
* "executionTime": 0,
|
|
3635
|
+
* "language": "en-US",
|
|
3636
|
+
* "links": [
|
|
3637
|
+
* {
|
|
3638
|
+
* "rel": "self",
|
|
3639
|
+
* "href": "/v1/cart/items",
|
|
3640
|
+
* "method": "POST"
|
|
3641
|
+
* }
|
|
3642
|
+
* ]
|
|
3643
|
+
* },
|
|
3644
|
+
* "error": {
|
|
3645
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
3646
|
+
* "code": "GENERIC_ERROR",
|
|
3647
|
+
* "title": "Client Error",
|
|
3648
|
+
* "status": 400,
|
|
3649
|
+
* "detail": "An error occurred",
|
|
3650
|
+
* "instance": "/v1/cart/items",
|
|
3651
|
+
* "extensions": {
|
|
3652
|
+
* "message_code": "GENERIC_ERROR",
|
|
3653
|
+
* "invalid_params": []
|
|
3654
|
+
* }
|
|
3655
|
+
* }
|
|
3656
|
+
* }
|
|
3657
|
+
*/
|
|
3658
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3659
|
+
};
|
|
3660
|
+
};
|
|
3661
|
+
/** @description Unprocessable Entity */
|
|
3662
|
+
422: {
|
|
3663
|
+
headers: {
|
|
3664
|
+
[name: string]: unknown;
|
|
3665
|
+
};
|
|
3666
|
+
content: {
|
|
3667
|
+
/**
|
|
3668
|
+
* @example {
|
|
3669
|
+
* "status": "error",
|
|
3670
|
+
* "message": "One or more input fields are invalid",
|
|
3671
|
+
* "message_code": "INVALID_INPUT",
|
|
3672
|
+
* "metadata": {
|
|
3673
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3674
|
+
* "requestId": "uuid",
|
|
3675
|
+
* "traceId": "uuid",
|
|
3676
|
+
* "version": "v1",
|
|
3677
|
+
* "executionTime": 0,
|
|
3678
|
+
* "language": "en-US",
|
|
3679
|
+
* "links": [
|
|
3680
|
+
* {
|
|
3681
|
+
* "rel": "self",
|
|
3682
|
+
* "href": "/v1/cart/items",
|
|
3683
|
+
* "method": "POST"
|
|
3684
|
+
* }
|
|
3685
|
+
* ]
|
|
3686
|
+
* },
|
|
3687
|
+
* "error": {
|
|
3688
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
3689
|
+
* "code": "INVALID_INPUT",
|
|
3690
|
+
* "title": "Invalid Input",
|
|
3691
|
+
* "status": 422,
|
|
3692
|
+
* "detail": "One or more input fields are invalid",
|
|
3693
|
+
* "instance": "/v1/cart/items",
|
|
3694
|
+
* "extensions": {
|
|
3695
|
+
* "message_code": "INVALID_INPUT",
|
|
3696
|
+
* "invalid_params": [
|
|
3697
|
+
* {
|
|
3698
|
+
* "field": "items[0].quantity",
|
|
3699
|
+
* "error": "Input should be greater than or equal to 1"
|
|
3700
|
+
* }
|
|
3701
|
+
* ]
|
|
3702
|
+
* }
|
|
3703
|
+
* }
|
|
3704
|
+
* }
|
|
3705
|
+
*/
|
|
3706
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3707
|
+
};
|
|
3708
|
+
};
|
|
3709
|
+
/** @description Too Many Requests */
|
|
3710
|
+
429: {
|
|
3711
|
+
headers: {
|
|
3712
|
+
[name: string]: unknown;
|
|
3713
|
+
};
|
|
3714
|
+
content: {
|
|
3715
|
+
/**
|
|
3716
|
+
* @example {
|
|
3717
|
+
* "status": "error",
|
|
3718
|
+
* "message": "Too many requests",
|
|
3719
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3720
|
+
* "metadata": {
|
|
3721
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3722
|
+
* "requestId": "uuid",
|
|
3723
|
+
* "traceId": "uuid",
|
|
3724
|
+
* "version": "v1",
|
|
3725
|
+
* "executionTime": 0,
|
|
3726
|
+
* "language": "en-US",
|
|
3727
|
+
* "links": [
|
|
3728
|
+
* {
|
|
3729
|
+
* "rel": "self",
|
|
3730
|
+
* "href": "/v1/cart/items",
|
|
3731
|
+
* "method": "POST"
|
|
3732
|
+
* }
|
|
3733
|
+
* ]
|
|
3734
|
+
* },
|
|
3735
|
+
* "error": {
|
|
3736
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
3737
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
3738
|
+
* "title": "Rate Limit Exceeded",
|
|
3739
|
+
* "status": 429,
|
|
3740
|
+
* "detail": "Too many requests",
|
|
3741
|
+
* "instance": "/v1/cart/items",
|
|
3742
|
+
* "extensions": {
|
|
3743
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3744
|
+
* "invalid_params": []
|
|
3745
|
+
* }
|
|
3746
|
+
* }
|
|
3747
|
+
* }
|
|
3748
|
+
*/
|
|
3749
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3750
|
+
};
|
|
3751
|
+
};
|
|
3752
|
+
/** @description Internal Server Error */
|
|
3753
|
+
500: {
|
|
3754
|
+
headers: {
|
|
3755
|
+
[name: string]: unknown;
|
|
3756
|
+
};
|
|
3757
|
+
content: {
|
|
3758
|
+
/**
|
|
3759
|
+
* @example {
|
|
3760
|
+
* "status": "error",
|
|
3761
|
+
* "message": "An unexpected error occurred",
|
|
3762
|
+
* "message_code": "SERVER_ERROR",
|
|
3763
|
+
* "metadata": {
|
|
3764
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3765
|
+
* "requestId": "uuid",
|
|
3766
|
+
* "traceId": "uuid",
|
|
3767
|
+
* "version": "v1",
|
|
3768
|
+
* "executionTime": 0,
|
|
3769
|
+
* "language": "en-US",
|
|
3770
|
+
* "links": [
|
|
3771
|
+
* {
|
|
3772
|
+
* "rel": "self",
|
|
3773
|
+
* "href": "/v1/cart/items",
|
|
3774
|
+
* "method": "POST"
|
|
3775
|
+
* }
|
|
3776
|
+
* ]
|
|
3777
|
+
* },
|
|
3778
|
+
* "error": {
|
|
3779
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
3780
|
+
* "code": "SERVER_ERROR",
|
|
3781
|
+
* "title": "Server Error",
|
|
3782
|
+
* "status": 500,
|
|
3783
|
+
* "detail": "An unexpected error occurred",
|
|
3784
|
+
* "instance": "/v1/cart/items",
|
|
3785
|
+
* "extensions": {
|
|
3786
|
+
* "message_code": "SERVER_ERROR",
|
|
3787
|
+
* "invalid_params": []
|
|
3788
|
+
* }
|
|
3789
|
+
* }
|
|
3790
|
+
* }
|
|
3791
|
+
*/
|
|
3792
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3793
|
+
};
|
|
3794
|
+
};
|
|
3795
|
+
};
|
|
3796
|
+
};
|
|
3797
|
+
updateDashboard: {
|
|
3798
|
+
parameters: {
|
|
3799
|
+
query?: never;
|
|
3800
|
+
header?: {
|
|
3801
|
+
authorization?: string | null;
|
|
3802
|
+
};
|
|
3803
|
+
path?: never;
|
|
3804
|
+
cookie?: never;
|
|
3805
|
+
};
|
|
3806
|
+
requestBody: {
|
|
3807
|
+
content: {
|
|
3808
|
+
"application/json": components["schemas"]["CustomizationRequest"];
|
|
3809
|
+
};
|
|
3810
|
+
};
|
|
3811
|
+
responses: {
|
|
3812
|
+
/** @description Successful Response */
|
|
3813
|
+
200: {
|
|
3814
|
+
headers: {
|
|
3815
|
+
[name: string]: unknown;
|
|
3816
|
+
};
|
|
3817
|
+
content: {
|
|
3818
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3819
|
+
};
|
|
3820
|
+
};
|
|
3821
|
+
/** @description Bad Request */
|
|
3822
|
+
400: {
|
|
3823
|
+
headers: {
|
|
3824
|
+
[name: string]: unknown;
|
|
3825
|
+
};
|
|
3826
|
+
content: {
|
|
3827
|
+
/**
|
|
3828
|
+
* @example {
|
|
3829
|
+
* "status": "error",
|
|
3830
|
+
* "message": "An error occurred",
|
|
3831
|
+
* "message_code": "GENERIC_ERROR",
|
|
3832
|
+
* "metadata": {
|
|
3833
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3834
|
+
* "requestId": "uuid",
|
|
3835
|
+
* "traceId": "uuid",
|
|
3836
|
+
* "version": "v1",
|
|
3837
|
+
* "executionTime": 0,
|
|
3838
|
+
* "language": "en-US",
|
|
3839
|
+
* "links": [
|
|
3840
|
+
* {
|
|
3841
|
+
* "rel": "self",
|
|
3842
|
+
* "href": "/v1/cart/items",
|
|
3843
|
+
* "method": "POST"
|
|
3844
|
+
* }
|
|
3845
|
+
* ]
|
|
3846
|
+
* },
|
|
3847
|
+
* "error": {
|
|
3848
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
3849
|
+
* "code": "GENERIC_ERROR",
|
|
3850
|
+
* "title": "Client Error",
|
|
3851
|
+
* "status": 400,
|
|
3852
|
+
* "detail": "An error occurred",
|
|
3853
|
+
* "instance": "/v1/cart/items",
|
|
3854
|
+
* "extensions": {
|
|
3855
|
+
* "message_code": "GENERIC_ERROR",
|
|
3856
|
+
* "invalid_params": []
|
|
3857
|
+
* }
|
|
3858
|
+
* }
|
|
3859
|
+
* }
|
|
3860
|
+
*/
|
|
3861
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3862
|
+
};
|
|
3863
|
+
};
|
|
3864
|
+
/** @description Unprocessable Entity */
|
|
3865
|
+
422: {
|
|
3866
|
+
headers: {
|
|
3867
|
+
[name: string]: unknown;
|
|
3868
|
+
};
|
|
3869
|
+
content: {
|
|
3870
|
+
/**
|
|
3871
|
+
* @example {
|
|
3872
|
+
* "status": "error",
|
|
3873
|
+
* "message": "One or more input fields are invalid",
|
|
3874
|
+
* "message_code": "INVALID_INPUT",
|
|
3875
|
+
* "metadata": {
|
|
3876
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3877
|
+
* "requestId": "uuid",
|
|
3878
|
+
* "traceId": "uuid",
|
|
3879
|
+
* "version": "v1",
|
|
3880
|
+
* "executionTime": 0,
|
|
3881
|
+
* "language": "en-US",
|
|
3882
|
+
* "links": [
|
|
3883
|
+
* {
|
|
3884
|
+
* "rel": "self",
|
|
3885
|
+
* "href": "/v1/cart/items",
|
|
3886
|
+
* "method": "POST"
|
|
3887
|
+
* }
|
|
3888
|
+
* ]
|
|
3889
|
+
* },
|
|
3890
|
+
* "error": {
|
|
3891
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
3892
|
+
* "code": "INVALID_INPUT",
|
|
3893
|
+
* "title": "Invalid Input",
|
|
3894
|
+
* "status": 422,
|
|
3895
|
+
* "detail": "One or more input fields are invalid",
|
|
3896
|
+
* "instance": "/v1/cart/items",
|
|
3897
|
+
* "extensions": {
|
|
3898
|
+
* "message_code": "INVALID_INPUT",
|
|
3899
|
+
* "invalid_params": [
|
|
3900
|
+
* {
|
|
3901
|
+
* "field": "items[0].quantity",
|
|
3902
|
+
* "error": "Input should be greater than or equal to 1"
|
|
3903
|
+
* }
|
|
3904
|
+
* ]
|
|
3905
|
+
* }
|
|
3906
|
+
* }
|
|
3907
|
+
* }
|
|
3908
|
+
*/
|
|
3909
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3910
|
+
};
|
|
3911
|
+
};
|
|
3912
|
+
/** @description Too Many Requests */
|
|
3913
|
+
429: {
|
|
3914
|
+
headers: {
|
|
3915
|
+
[name: string]: unknown;
|
|
3916
|
+
};
|
|
3917
|
+
content: {
|
|
3918
|
+
/**
|
|
3919
|
+
* @example {
|
|
3920
|
+
* "status": "error",
|
|
3921
|
+
* "message": "Too many requests",
|
|
3922
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3923
|
+
* "metadata": {
|
|
3924
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3925
|
+
* "requestId": "uuid",
|
|
3926
|
+
* "traceId": "uuid",
|
|
3927
|
+
* "version": "v1",
|
|
3928
|
+
* "executionTime": 0,
|
|
3929
|
+
* "language": "en-US",
|
|
3930
|
+
* "links": [
|
|
3931
|
+
* {
|
|
3932
|
+
* "rel": "self",
|
|
3933
|
+
* "href": "/v1/cart/items",
|
|
3934
|
+
* "method": "POST"
|
|
3935
|
+
* }
|
|
3936
|
+
* ]
|
|
3937
|
+
* },
|
|
3938
|
+
* "error": {
|
|
3939
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
3940
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
3941
|
+
* "title": "Rate Limit Exceeded",
|
|
3942
|
+
* "status": 429,
|
|
3943
|
+
* "detail": "Too many requests",
|
|
3944
|
+
* "instance": "/v1/cart/items",
|
|
3945
|
+
* "extensions": {
|
|
3946
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
3947
|
+
* "invalid_params": []
|
|
3948
|
+
* }
|
|
3949
|
+
* }
|
|
3950
|
+
* }
|
|
3951
|
+
*/
|
|
3952
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3953
|
+
};
|
|
3954
|
+
};
|
|
3955
|
+
/** @description Internal Server Error */
|
|
3956
|
+
500: {
|
|
3957
|
+
headers: {
|
|
3958
|
+
[name: string]: unknown;
|
|
3959
|
+
};
|
|
3960
|
+
content: {
|
|
3961
|
+
/**
|
|
3962
|
+
* @example {
|
|
3963
|
+
* "status": "error",
|
|
3964
|
+
* "message": "An unexpected error occurred",
|
|
3965
|
+
* "message_code": "SERVER_ERROR",
|
|
3966
|
+
* "metadata": {
|
|
3967
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
3968
|
+
* "requestId": "uuid",
|
|
3969
|
+
* "traceId": "uuid",
|
|
3970
|
+
* "version": "v1",
|
|
3971
|
+
* "executionTime": 0,
|
|
3972
|
+
* "language": "en-US",
|
|
3973
|
+
* "links": [
|
|
3974
|
+
* {
|
|
3975
|
+
* "rel": "self",
|
|
3976
|
+
* "href": "/v1/cart/items",
|
|
3977
|
+
* "method": "POST"
|
|
3978
|
+
* }
|
|
3979
|
+
* ]
|
|
3980
|
+
* },
|
|
3981
|
+
* "error": {
|
|
3982
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
3983
|
+
* "code": "SERVER_ERROR",
|
|
3984
|
+
* "title": "Server Error",
|
|
3985
|
+
* "status": 500,
|
|
3986
|
+
* "detail": "An unexpected error occurred",
|
|
3987
|
+
* "instance": "/v1/cart/items",
|
|
3988
|
+
* "extensions": {
|
|
3989
|
+
* "message_code": "SERVER_ERROR",
|
|
3990
|
+
* "invalid_params": []
|
|
3991
|
+
* }
|
|
3992
|
+
* }
|
|
3993
|
+
* }
|
|
3994
|
+
*/
|
|
3995
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
3996
|
+
};
|
|
3997
|
+
};
|
|
3998
|
+
};
|
|
3999
|
+
};
|
|
4000
|
+
resetDashboard: {
|
|
4001
|
+
parameters: {
|
|
4002
|
+
query?: never;
|
|
4003
|
+
header?: {
|
|
4004
|
+
authorization?: string | null;
|
|
4005
|
+
};
|
|
4006
|
+
path?: never;
|
|
4007
|
+
cookie?: never;
|
|
4008
|
+
};
|
|
4009
|
+
requestBody?: never;
|
|
4010
|
+
responses: {
|
|
4011
|
+
/** @description Successful Response */
|
|
4012
|
+
200: {
|
|
4013
|
+
headers: {
|
|
4014
|
+
[name: string]: unknown;
|
|
4015
|
+
};
|
|
4016
|
+
content: {
|
|
4017
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4018
|
+
};
|
|
4019
|
+
};
|
|
4020
|
+
/** @description Bad Request */
|
|
4021
|
+
400: {
|
|
4022
|
+
headers: {
|
|
4023
|
+
[name: string]: unknown;
|
|
4024
|
+
};
|
|
4025
|
+
content: {
|
|
4026
|
+
/**
|
|
4027
|
+
* @example {
|
|
4028
|
+
* "status": "error",
|
|
4029
|
+
* "message": "An error occurred",
|
|
4030
|
+
* "message_code": "GENERIC_ERROR",
|
|
4031
|
+
* "metadata": {
|
|
4032
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4033
|
+
* "requestId": "uuid",
|
|
4034
|
+
* "traceId": "uuid",
|
|
4035
|
+
* "version": "v1",
|
|
4036
|
+
* "executionTime": 0,
|
|
4037
|
+
* "language": "en-US",
|
|
4038
|
+
* "links": [
|
|
4039
|
+
* {
|
|
4040
|
+
* "rel": "self",
|
|
4041
|
+
* "href": "/v1/cart/items",
|
|
4042
|
+
* "method": "POST"
|
|
4043
|
+
* }
|
|
4044
|
+
* ]
|
|
4045
|
+
* },
|
|
4046
|
+
* "error": {
|
|
4047
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
4048
|
+
* "code": "GENERIC_ERROR",
|
|
4049
|
+
* "title": "Client Error",
|
|
4050
|
+
* "status": 400,
|
|
4051
|
+
* "detail": "An error occurred",
|
|
4052
|
+
* "instance": "/v1/cart/items",
|
|
4053
|
+
* "extensions": {
|
|
4054
|
+
* "message_code": "GENERIC_ERROR",
|
|
4055
|
+
* "invalid_params": []
|
|
4056
|
+
* }
|
|
4057
|
+
* }
|
|
4058
|
+
* }
|
|
4059
|
+
*/
|
|
4060
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4061
|
+
};
|
|
4062
|
+
};
|
|
4063
|
+
/** @description Unprocessable Entity */
|
|
4064
|
+
422: {
|
|
4065
|
+
headers: {
|
|
4066
|
+
[name: string]: unknown;
|
|
4067
|
+
};
|
|
4068
|
+
content: {
|
|
4069
|
+
/**
|
|
4070
|
+
* @example {
|
|
4071
|
+
* "status": "error",
|
|
4072
|
+
* "message": "One or more input fields are invalid",
|
|
4073
|
+
* "message_code": "INVALID_INPUT",
|
|
4074
|
+
* "metadata": {
|
|
4075
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4076
|
+
* "requestId": "uuid",
|
|
4077
|
+
* "traceId": "uuid",
|
|
4078
|
+
* "version": "v1",
|
|
4079
|
+
* "executionTime": 0,
|
|
4080
|
+
* "language": "en-US",
|
|
4081
|
+
* "links": [
|
|
4082
|
+
* {
|
|
4083
|
+
* "rel": "self",
|
|
4084
|
+
* "href": "/v1/cart/items",
|
|
4085
|
+
* "method": "POST"
|
|
4086
|
+
* }
|
|
4087
|
+
* ]
|
|
4088
|
+
* },
|
|
4089
|
+
* "error": {
|
|
4090
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
4091
|
+
* "code": "INVALID_INPUT",
|
|
4092
|
+
* "title": "Invalid Input",
|
|
4093
|
+
* "status": 422,
|
|
4094
|
+
* "detail": "One or more input fields are invalid",
|
|
4095
|
+
* "instance": "/v1/cart/items",
|
|
4096
|
+
* "extensions": {
|
|
4097
|
+
* "message_code": "INVALID_INPUT",
|
|
4098
|
+
* "invalid_params": [
|
|
4099
|
+
* {
|
|
4100
|
+
* "field": "items[0].quantity",
|
|
4101
|
+
* "error": "Input should be greater than or equal to 1"
|
|
4102
|
+
* }
|
|
4103
|
+
* ]
|
|
4104
|
+
* }
|
|
4105
|
+
* }
|
|
4106
|
+
* }
|
|
4107
|
+
*/
|
|
4108
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4109
|
+
};
|
|
4110
|
+
};
|
|
4111
|
+
/** @description Too Many Requests */
|
|
4112
|
+
429: {
|
|
4113
|
+
headers: {
|
|
4114
|
+
[name: string]: unknown;
|
|
4115
|
+
};
|
|
4116
|
+
content: {
|
|
4117
|
+
/**
|
|
4118
|
+
* @example {
|
|
4119
|
+
* "status": "error",
|
|
4120
|
+
* "message": "Too many requests",
|
|
4121
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4122
|
+
* "metadata": {
|
|
4123
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4124
|
+
* "requestId": "uuid",
|
|
4125
|
+
* "traceId": "uuid",
|
|
4126
|
+
* "version": "v1",
|
|
4127
|
+
* "executionTime": 0,
|
|
4128
|
+
* "language": "en-US",
|
|
4129
|
+
* "links": [
|
|
4130
|
+
* {
|
|
4131
|
+
* "rel": "self",
|
|
4132
|
+
* "href": "/v1/cart/items",
|
|
4133
|
+
* "method": "POST"
|
|
4134
|
+
* }
|
|
4135
|
+
* ]
|
|
4136
|
+
* },
|
|
4137
|
+
* "error": {
|
|
4138
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
4139
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
4140
|
+
* "title": "Rate Limit Exceeded",
|
|
4141
|
+
* "status": 429,
|
|
4142
|
+
* "detail": "Too many requests",
|
|
4143
|
+
* "instance": "/v1/cart/items",
|
|
4144
|
+
* "extensions": {
|
|
4145
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4146
|
+
* "invalid_params": []
|
|
4147
|
+
* }
|
|
4148
|
+
* }
|
|
4149
|
+
* }
|
|
4150
|
+
*/
|
|
4151
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4152
|
+
};
|
|
4153
|
+
};
|
|
4154
|
+
/** @description Internal Server Error */
|
|
4155
|
+
500: {
|
|
4156
|
+
headers: {
|
|
4157
|
+
[name: string]: unknown;
|
|
4158
|
+
};
|
|
4159
|
+
content: {
|
|
4160
|
+
/**
|
|
4161
|
+
* @example {
|
|
4162
|
+
* "status": "error",
|
|
4163
|
+
* "message": "An unexpected error occurred",
|
|
4164
|
+
* "message_code": "SERVER_ERROR",
|
|
4165
|
+
* "metadata": {
|
|
4166
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4167
|
+
* "requestId": "uuid",
|
|
4168
|
+
* "traceId": "uuid",
|
|
4169
|
+
* "version": "v1",
|
|
4170
|
+
* "executionTime": 0,
|
|
4171
|
+
* "language": "en-US",
|
|
4172
|
+
* "links": [
|
|
4173
|
+
* {
|
|
4174
|
+
* "rel": "self",
|
|
4175
|
+
* "href": "/v1/cart/items",
|
|
4176
|
+
* "method": "POST"
|
|
4177
|
+
* }
|
|
4178
|
+
* ]
|
|
4179
|
+
* },
|
|
4180
|
+
* "error": {
|
|
4181
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
4182
|
+
* "code": "SERVER_ERROR",
|
|
4183
|
+
* "title": "Server Error",
|
|
4184
|
+
* "status": 500,
|
|
4185
|
+
* "detail": "An unexpected error occurred",
|
|
4186
|
+
* "instance": "/v1/cart/items",
|
|
4187
|
+
* "extensions": {
|
|
4188
|
+
* "message_code": "SERVER_ERROR",
|
|
4189
|
+
* "invalid_params": []
|
|
4190
|
+
* }
|
|
4191
|
+
* }
|
|
4192
|
+
* }
|
|
4193
|
+
*/
|
|
4194
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4195
|
+
};
|
|
4196
|
+
};
|
|
4197
|
+
};
|
|
4198
|
+
};
|
|
4199
|
+
exportDashboard: {
|
|
4200
|
+
parameters: {
|
|
4201
|
+
query?: never;
|
|
4202
|
+
header?: {
|
|
4203
|
+
authorization?: string | null;
|
|
4204
|
+
};
|
|
4205
|
+
path?: never;
|
|
4206
|
+
cookie?: never;
|
|
4207
|
+
};
|
|
4208
|
+
requestBody: {
|
|
4209
|
+
content: {
|
|
4210
|
+
"application/json": components["schemas"]["ExportRequest"];
|
|
4211
|
+
};
|
|
4212
|
+
};
|
|
4213
|
+
responses: {
|
|
4214
|
+
/** @description Successful Response */
|
|
4215
|
+
200: {
|
|
4216
|
+
headers: {
|
|
4217
|
+
[name: string]: unknown;
|
|
4218
|
+
};
|
|
4219
|
+
content: {
|
|
4220
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4221
|
+
};
|
|
4222
|
+
};
|
|
4223
|
+
/** @description Bad Request */
|
|
4224
|
+
400: {
|
|
4225
|
+
headers: {
|
|
4226
|
+
[name: string]: unknown;
|
|
4227
|
+
};
|
|
4228
|
+
content: {
|
|
4229
|
+
/**
|
|
4230
|
+
* @example {
|
|
4231
|
+
* "status": "error",
|
|
4232
|
+
* "message": "An error occurred",
|
|
4233
|
+
* "message_code": "GENERIC_ERROR",
|
|
4234
|
+
* "metadata": {
|
|
4235
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4236
|
+
* "requestId": "uuid",
|
|
4237
|
+
* "traceId": "uuid",
|
|
4238
|
+
* "version": "v1",
|
|
4239
|
+
* "executionTime": 0,
|
|
4240
|
+
* "language": "en-US",
|
|
4241
|
+
* "links": [
|
|
4242
|
+
* {
|
|
4243
|
+
* "rel": "self",
|
|
4244
|
+
* "href": "/v1/cart/items",
|
|
4245
|
+
* "method": "POST"
|
|
4246
|
+
* }
|
|
4247
|
+
* ]
|
|
4248
|
+
* },
|
|
4249
|
+
* "error": {
|
|
4250
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
4251
|
+
* "code": "GENERIC_ERROR",
|
|
4252
|
+
* "title": "Client Error",
|
|
4253
|
+
* "status": 400,
|
|
4254
|
+
* "detail": "An error occurred",
|
|
4255
|
+
* "instance": "/v1/cart/items",
|
|
4256
|
+
* "extensions": {
|
|
4257
|
+
* "message_code": "GENERIC_ERROR",
|
|
4258
|
+
* "invalid_params": []
|
|
4259
|
+
* }
|
|
4260
|
+
* }
|
|
4261
|
+
* }
|
|
4262
|
+
*/
|
|
4263
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4264
|
+
};
|
|
4265
|
+
};
|
|
4266
|
+
/** @description Unprocessable Entity */
|
|
4267
|
+
422: {
|
|
4268
|
+
headers: {
|
|
4269
|
+
[name: string]: unknown;
|
|
4270
|
+
};
|
|
4271
|
+
content: {
|
|
4272
|
+
/**
|
|
4273
|
+
* @example {
|
|
4274
|
+
* "status": "error",
|
|
4275
|
+
* "message": "One or more input fields are invalid",
|
|
4276
|
+
* "message_code": "INVALID_INPUT",
|
|
4277
|
+
* "metadata": {
|
|
4278
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4279
|
+
* "requestId": "uuid",
|
|
4280
|
+
* "traceId": "uuid",
|
|
4281
|
+
* "version": "v1",
|
|
4282
|
+
* "executionTime": 0,
|
|
4283
|
+
* "language": "en-US",
|
|
4284
|
+
* "links": [
|
|
4285
|
+
* {
|
|
4286
|
+
* "rel": "self",
|
|
4287
|
+
* "href": "/v1/cart/items",
|
|
4288
|
+
* "method": "POST"
|
|
4289
|
+
* }
|
|
4290
|
+
* ]
|
|
4291
|
+
* },
|
|
4292
|
+
* "error": {
|
|
4293
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
4294
|
+
* "code": "INVALID_INPUT",
|
|
4295
|
+
* "title": "Invalid Input",
|
|
4296
|
+
* "status": 422,
|
|
4297
|
+
* "detail": "One or more input fields are invalid",
|
|
4298
|
+
* "instance": "/v1/cart/items",
|
|
4299
|
+
* "extensions": {
|
|
4300
|
+
* "message_code": "INVALID_INPUT",
|
|
4301
|
+
* "invalid_params": [
|
|
4302
|
+
* {
|
|
4303
|
+
* "field": "items[0].quantity",
|
|
4304
|
+
* "error": "Input should be greater than or equal to 1"
|
|
4305
|
+
* }
|
|
4306
|
+
* ]
|
|
4307
|
+
* }
|
|
4308
|
+
* }
|
|
4309
|
+
* }
|
|
4310
|
+
*/
|
|
4311
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4312
|
+
};
|
|
4313
|
+
};
|
|
4314
|
+
/** @description Too Many Requests */
|
|
4315
|
+
429: {
|
|
4316
|
+
headers: {
|
|
4317
|
+
[name: string]: unknown;
|
|
4318
|
+
};
|
|
4319
|
+
content: {
|
|
4320
|
+
/**
|
|
4321
|
+
* @example {
|
|
4322
|
+
* "status": "error",
|
|
4323
|
+
* "message": "Too many requests",
|
|
4324
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4325
|
+
* "metadata": {
|
|
4326
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4327
|
+
* "requestId": "uuid",
|
|
4328
|
+
* "traceId": "uuid",
|
|
4329
|
+
* "version": "v1",
|
|
4330
|
+
* "executionTime": 0,
|
|
4331
|
+
* "language": "en-US",
|
|
4332
|
+
* "links": [
|
|
4333
|
+
* {
|
|
4334
|
+
* "rel": "self",
|
|
4335
|
+
* "href": "/v1/cart/items",
|
|
4336
|
+
* "method": "POST"
|
|
4337
|
+
* }
|
|
4338
|
+
* ]
|
|
4339
|
+
* },
|
|
4340
|
+
* "error": {
|
|
4341
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
4342
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
4343
|
+
* "title": "Rate Limit Exceeded",
|
|
4344
|
+
* "status": 429,
|
|
4345
|
+
* "detail": "Too many requests",
|
|
4346
|
+
* "instance": "/v1/cart/items",
|
|
4347
|
+
* "extensions": {
|
|
4348
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4349
|
+
* "invalid_params": []
|
|
4350
|
+
* }
|
|
4351
|
+
* }
|
|
4352
|
+
* }
|
|
4353
|
+
*/
|
|
4354
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4355
|
+
};
|
|
4356
|
+
};
|
|
4357
|
+
/** @description Internal Server Error */
|
|
4358
|
+
500: {
|
|
4359
|
+
headers: {
|
|
4360
|
+
[name: string]: unknown;
|
|
4361
|
+
};
|
|
4362
|
+
content: {
|
|
4363
|
+
/**
|
|
4364
|
+
* @example {
|
|
4365
|
+
* "status": "error",
|
|
4366
|
+
* "message": "An unexpected error occurred",
|
|
4367
|
+
* "message_code": "SERVER_ERROR",
|
|
4368
|
+
* "metadata": {
|
|
4369
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4370
|
+
* "requestId": "uuid",
|
|
4371
|
+
* "traceId": "uuid",
|
|
4372
|
+
* "version": "v1",
|
|
4373
|
+
* "executionTime": 0,
|
|
4374
|
+
* "language": "en-US",
|
|
4375
|
+
* "links": [
|
|
4376
|
+
* {
|
|
4377
|
+
* "rel": "self",
|
|
4378
|
+
* "href": "/v1/cart/items",
|
|
4379
|
+
* "method": "POST"
|
|
4380
|
+
* }
|
|
4381
|
+
* ]
|
|
4382
|
+
* },
|
|
4383
|
+
* "error": {
|
|
4384
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
4385
|
+
* "code": "SERVER_ERROR",
|
|
4386
|
+
* "title": "Server Error",
|
|
4387
|
+
* "status": 500,
|
|
4388
|
+
* "detail": "An unexpected error occurred",
|
|
4389
|
+
* "instance": "/v1/cart/items",
|
|
4390
|
+
* "extensions": {
|
|
4391
|
+
* "message_code": "SERVER_ERROR",
|
|
4392
|
+
* "invalid_params": []
|
|
4393
|
+
* }
|
|
4394
|
+
* }
|
|
4395
|
+
* }
|
|
4396
|
+
*/
|
|
4397
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4398
|
+
};
|
|
4399
|
+
};
|
|
4400
|
+
};
|
|
4401
|
+
};
|
|
4402
|
+
getWidget: {
|
|
4403
|
+
parameters: {
|
|
4404
|
+
query?: {
|
|
4405
|
+
/** @description Predefined date range: today, 7d, 30d, 90d, 1y, all */
|
|
4406
|
+
date_range?: string | null;
|
|
4407
|
+
/** @description Custom start date (ISO: YYYY-MM-DD) */
|
|
4408
|
+
start_date?: string | null;
|
|
4409
|
+
/** @description Custom end date (ISO: YYYY-MM-DD) */
|
|
4410
|
+
end_date?: string | null;
|
|
4411
|
+
/** @description Result limit for list widgets */
|
|
4412
|
+
limit?: number;
|
|
4413
|
+
/** @description Filter by company ID */
|
|
4414
|
+
company_id?: number | null;
|
|
4415
|
+
/** @description Filter by space ID */
|
|
4416
|
+
space_id?: number | null;
|
|
4417
|
+
};
|
|
4418
|
+
header?: {
|
|
4419
|
+
authorization?: string | null;
|
|
4420
|
+
};
|
|
4421
|
+
path: {
|
|
4422
|
+
widget_key: string;
|
|
4423
|
+
};
|
|
4424
|
+
cookie?: never;
|
|
4425
|
+
};
|
|
4426
|
+
requestBody?: never;
|
|
4427
|
+
responses: {
|
|
4428
|
+
/** @description Successful Response */
|
|
4429
|
+
200: {
|
|
4430
|
+
headers: {
|
|
4431
|
+
[name: string]: unknown;
|
|
4432
|
+
};
|
|
4433
|
+
content: {
|
|
4434
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4435
|
+
};
|
|
4436
|
+
};
|
|
4437
|
+
/** @description Bad Request */
|
|
4438
|
+
400: {
|
|
4439
|
+
headers: {
|
|
4440
|
+
[name: string]: unknown;
|
|
4441
|
+
};
|
|
4442
|
+
content: {
|
|
4443
|
+
/**
|
|
4444
|
+
* @example {
|
|
4445
|
+
* "status": "error",
|
|
4446
|
+
* "message": "An error occurred",
|
|
4447
|
+
* "message_code": "GENERIC_ERROR",
|
|
4448
|
+
* "metadata": {
|
|
4449
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4450
|
+
* "requestId": "uuid",
|
|
4451
|
+
* "traceId": "uuid",
|
|
4452
|
+
* "version": "v1",
|
|
4453
|
+
* "executionTime": 0,
|
|
4454
|
+
* "language": "en-US",
|
|
4455
|
+
* "links": [
|
|
4456
|
+
* {
|
|
4457
|
+
* "rel": "self",
|
|
4458
|
+
* "href": "/v1/cart/items",
|
|
4459
|
+
* "method": "POST"
|
|
4460
|
+
* }
|
|
4461
|
+
* ]
|
|
4462
|
+
* },
|
|
4463
|
+
* "error": {
|
|
4464
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
4465
|
+
* "code": "GENERIC_ERROR",
|
|
4466
|
+
* "title": "Client Error",
|
|
4467
|
+
* "status": 400,
|
|
4468
|
+
* "detail": "An error occurred",
|
|
4469
|
+
* "instance": "/v1/cart/items",
|
|
4470
|
+
* "extensions": {
|
|
4471
|
+
* "message_code": "GENERIC_ERROR",
|
|
4472
|
+
* "invalid_params": []
|
|
4473
|
+
* }
|
|
4474
|
+
* }
|
|
4475
|
+
* }
|
|
4476
|
+
*/
|
|
4477
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4478
|
+
};
|
|
4479
|
+
};
|
|
4480
|
+
/** @description Unprocessable Entity */
|
|
4481
|
+
422: {
|
|
4482
|
+
headers: {
|
|
4483
|
+
[name: string]: unknown;
|
|
4484
|
+
};
|
|
4485
|
+
content: {
|
|
4486
|
+
/**
|
|
4487
|
+
* @example {
|
|
4488
|
+
* "status": "error",
|
|
4489
|
+
* "message": "One or more input fields are invalid",
|
|
4490
|
+
* "message_code": "INVALID_INPUT",
|
|
4491
|
+
* "metadata": {
|
|
4492
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4493
|
+
* "requestId": "uuid",
|
|
4494
|
+
* "traceId": "uuid",
|
|
4495
|
+
* "version": "v1",
|
|
4496
|
+
* "executionTime": 0,
|
|
4497
|
+
* "language": "en-US",
|
|
4498
|
+
* "links": [
|
|
4499
|
+
* {
|
|
4500
|
+
* "rel": "self",
|
|
4501
|
+
* "href": "/v1/cart/items",
|
|
4502
|
+
* "method": "POST"
|
|
4503
|
+
* }
|
|
4504
|
+
* ]
|
|
4505
|
+
* },
|
|
4506
|
+
* "error": {
|
|
4507
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
4508
|
+
* "code": "INVALID_INPUT",
|
|
4509
|
+
* "title": "Invalid Input",
|
|
4510
|
+
* "status": 422,
|
|
4511
|
+
* "detail": "One or more input fields are invalid",
|
|
4512
|
+
* "instance": "/v1/cart/items",
|
|
4513
|
+
* "extensions": {
|
|
4514
|
+
* "message_code": "INVALID_INPUT",
|
|
4515
|
+
* "invalid_params": [
|
|
4516
|
+
* {
|
|
4517
|
+
* "field": "items[0].quantity",
|
|
4518
|
+
* "error": "Input should be greater than or equal to 1"
|
|
4519
|
+
* }
|
|
4520
|
+
* ]
|
|
4521
|
+
* }
|
|
4522
|
+
* }
|
|
4523
|
+
* }
|
|
4524
|
+
*/
|
|
4525
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4526
|
+
};
|
|
4527
|
+
};
|
|
4528
|
+
/** @description Too Many Requests */
|
|
4529
|
+
429: {
|
|
4530
|
+
headers: {
|
|
4531
|
+
[name: string]: unknown;
|
|
4532
|
+
};
|
|
4533
|
+
content: {
|
|
4534
|
+
/**
|
|
4535
|
+
* @example {
|
|
4536
|
+
* "status": "error",
|
|
4537
|
+
* "message": "Too many requests",
|
|
4538
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4539
|
+
* "metadata": {
|
|
4540
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4541
|
+
* "requestId": "uuid",
|
|
4542
|
+
* "traceId": "uuid",
|
|
4543
|
+
* "version": "v1",
|
|
4544
|
+
* "executionTime": 0,
|
|
4545
|
+
* "language": "en-US",
|
|
4546
|
+
* "links": [
|
|
4547
|
+
* {
|
|
4548
|
+
* "rel": "self",
|
|
4549
|
+
* "href": "/v1/cart/items",
|
|
4550
|
+
* "method": "POST"
|
|
4551
|
+
* }
|
|
4552
|
+
* ]
|
|
4553
|
+
* },
|
|
4554
|
+
* "error": {
|
|
4555
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
4556
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
4557
|
+
* "title": "Rate Limit Exceeded",
|
|
4558
|
+
* "status": 429,
|
|
4559
|
+
* "detail": "Too many requests",
|
|
4560
|
+
* "instance": "/v1/cart/items",
|
|
4561
|
+
* "extensions": {
|
|
4562
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4563
|
+
* "invalid_params": []
|
|
4564
|
+
* }
|
|
4565
|
+
* }
|
|
4566
|
+
* }
|
|
4567
|
+
*/
|
|
4568
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4569
|
+
};
|
|
4570
|
+
};
|
|
4571
|
+
/** @description Internal Server Error */
|
|
4572
|
+
500: {
|
|
4573
|
+
headers: {
|
|
4574
|
+
[name: string]: unknown;
|
|
4575
|
+
};
|
|
4576
|
+
content: {
|
|
4577
|
+
/**
|
|
4578
|
+
* @example {
|
|
4579
|
+
* "status": "error",
|
|
4580
|
+
* "message": "An unexpected error occurred",
|
|
4581
|
+
* "message_code": "SERVER_ERROR",
|
|
4582
|
+
* "metadata": {
|
|
4583
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4584
|
+
* "requestId": "uuid",
|
|
4585
|
+
* "traceId": "uuid",
|
|
4586
|
+
* "version": "v1",
|
|
4587
|
+
* "executionTime": 0,
|
|
4588
|
+
* "language": "en-US",
|
|
4589
|
+
* "links": [
|
|
4590
|
+
* {
|
|
4591
|
+
* "rel": "self",
|
|
4592
|
+
* "href": "/v1/cart/items",
|
|
4593
|
+
* "method": "POST"
|
|
4594
|
+
* }
|
|
4595
|
+
* ]
|
|
4596
|
+
* },
|
|
4597
|
+
* "error": {
|
|
4598
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
4599
|
+
* "code": "SERVER_ERROR",
|
|
4600
|
+
* "title": "Server Error",
|
|
4601
|
+
* "status": 500,
|
|
4602
|
+
* "detail": "An unexpected error occurred",
|
|
4603
|
+
* "instance": "/v1/cart/items",
|
|
4604
|
+
* "extensions": {
|
|
4605
|
+
* "message_code": "SERVER_ERROR",
|
|
4606
|
+
* "invalid_params": []
|
|
4607
|
+
* }
|
|
4608
|
+
* }
|
|
4609
|
+
* }
|
|
4610
|
+
*/
|
|
4611
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4612
|
+
};
|
|
4613
|
+
};
|
|
4614
|
+
};
|
|
4615
|
+
};
|
|
4616
|
+
invalidateWidgetCache: {
|
|
4617
|
+
parameters: {
|
|
4618
|
+
query?: {
|
|
4619
|
+
/** @description Predefined date range: today, 7d, 30d, 90d, 1y, all */
|
|
4620
|
+
date_range?: string | null;
|
|
4621
|
+
/** @description Custom start date (ISO: YYYY-MM-DD) */
|
|
4622
|
+
start_date?: string | null;
|
|
4623
|
+
/** @description Custom end date (ISO: YYYY-MM-DD) */
|
|
4624
|
+
end_date?: string | null;
|
|
4625
|
+
/** @description Result limit for list widgets */
|
|
4626
|
+
limit?: number;
|
|
4627
|
+
/** @description Filter by company ID */
|
|
4628
|
+
company_id?: number | null;
|
|
4629
|
+
/** @description Filter by space ID */
|
|
4630
|
+
space_id?: number | null;
|
|
4631
|
+
};
|
|
4632
|
+
header?: {
|
|
4633
|
+
authorization?: string | null;
|
|
4634
|
+
};
|
|
4635
|
+
path: {
|
|
4636
|
+
widget_key: string;
|
|
4637
|
+
};
|
|
4638
|
+
cookie?: never;
|
|
4639
|
+
};
|
|
4640
|
+
requestBody?: never;
|
|
4641
|
+
responses: {
|
|
4642
|
+
/** @description Successful Response */
|
|
4643
|
+
200: {
|
|
4644
|
+
headers: {
|
|
4645
|
+
[name: string]: unknown;
|
|
4646
|
+
};
|
|
4647
|
+
content: {
|
|
4648
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4649
|
+
};
|
|
4650
|
+
};
|
|
4651
|
+
/** @description Bad Request */
|
|
4652
|
+
400: {
|
|
4653
|
+
headers: {
|
|
4654
|
+
[name: string]: unknown;
|
|
4655
|
+
};
|
|
4656
|
+
content: {
|
|
4657
|
+
/**
|
|
4658
|
+
* @example {
|
|
4659
|
+
* "status": "error",
|
|
4660
|
+
* "message": "An error occurred",
|
|
4661
|
+
* "message_code": "GENERIC_ERROR",
|
|
4662
|
+
* "metadata": {
|
|
4663
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4664
|
+
* "requestId": "uuid",
|
|
4665
|
+
* "traceId": "uuid",
|
|
4666
|
+
* "version": "v1",
|
|
4667
|
+
* "executionTime": 0,
|
|
4668
|
+
* "language": "en-US",
|
|
4669
|
+
* "links": [
|
|
4670
|
+
* {
|
|
4671
|
+
* "rel": "self",
|
|
4672
|
+
* "href": "/v1/cart/items",
|
|
4673
|
+
* "method": "POST"
|
|
4674
|
+
* }
|
|
4675
|
+
* ]
|
|
4676
|
+
* },
|
|
4677
|
+
* "error": {
|
|
4678
|
+
* "type": "https://{your-domain}/errors/client-error",
|
|
4679
|
+
* "code": "GENERIC_ERROR",
|
|
4680
|
+
* "title": "Client Error",
|
|
4681
|
+
* "status": 400,
|
|
4682
|
+
* "detail": "An error occurred",
|
|
4683
|
+
* "instance": "/v1/cart/items",
|
|
4684
|
+
* "extensions": {
|
|
4685
|
+
* "message_code": "GENERIC_ERROR",
|
|
4686
|
+
* "invalid_params": []
|
|
4687
|
+
* }
|
|
4688
|
+
* }
|
|
4689
|
+
* }
|
|
4690
|
+
*/
|
|
4691
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4692
|
+
};
|
|
4693
|
+
};
|
|
4694
|
+
/** @description Unprocessable Entity */
|
|
4695
|
+
422: {
|
|
4696
|
+
headers: {
|
|
4697
|
+
[name: string]: unknown;
|
|
4698
|
+
};
|
|
4699
|
+
content: {
|
|
4700
|
+
/**
|
|
4701
|
+
* @example {
|
|
4702
|
+
* "status": "error",
|
|
4703
|
+
* "message": "One or more input fields are invalid",
|
|
4704
|
+
* "message_code": "INVALID_INPUT",
|
|
4705
|
+
* "metadata": {
|
|
4706
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4707
|
+
* "requestId": "uuid",
|
|
4708
|
+
* "traceId": "uuid",
|
|
4709
|
+
* "version": "v1",
|
|
4710
|
+
* "executionTime": 0,
|
|
4711
|
+
* "language": "en-US",
|
|
4712
|
+
* "links": [
|
|
4713
|
+
* {
|
|
4714
|
+
* "rel": "self",
|
|
4715
|
+
* "href": "/v1/cart/items",
|
|
4716
|
+
* "method": "POST"
|
|
4717
|
+
* }
|
|
4718
|
+
* ]
|
|
4719
|
+
* },
|
|
4720
|
+
* "error": {
|
|
4721
|
+
* "type": "https://{your-domain}/errors/invalid-input",
|
|
4722
|
+
* "code": "INVALID_INPUT",
|
|
4723
|
+
* "title": "Invalid Input",
|
|
4724
|
+
* "status": 422,
|
|
4725
|
+
* "detail": "One or more input fields are invalid",
|
|
4726
|
+
* "instance": "/v1/cart/items",
|
|
4727
|
+
* "extensions": {
|
|
4728
|
+
* "message_code": "INVALID_INPUT",
|
|
4729
|
+
* "invalid_params": [
|
|
4730
|
+
* {
|
|
4731
|
+
* "field": "items[0].quantity",
|
|
4732
|
+
* "error": "Input should be greater than or equal to 1"
|
|
4733
|
+
* }
|
|
4734
|
+
* ]
|
|
4735
|
+
* }
|
|
4736
|
+
* }
|
|
4737
|
+
* }
|
|
4738
|
+
*/
|
|
4739
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4740
|
+
};
|
|
4741
|
+
};
|
|
4742
|
+
/** @description Too Many Requests */
|
|
4743
|
+
429: {
|
|
4744
|
+
headers: {
|
|
4745
|
+
[name: string]: unknown;
|
|
4746
|
+
};
|
|
4747
|
+
content: {
|
|
4748
|
+
/**
|
|
4749
|
+
* @example {
|
|
4750
|
+
* "status": "error",
|
|
4751
|
+
* "message": "Too many requests",
|
|
4752
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4753
|
+
* "metadata": {
|
|
4754
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4755
|
+
* "requestId": "uuid",
|
|
4756
|
+
* "traceId": "uuid",
|
|
4757
|
+
* "version": "v1",
|
|
4758
|
+
* "executionTime": 0,
|
|
4759
|
+
* "language": "en-US",
|
|
4760
|
+
* "links": [
|
|
4761
|
+
* {
|
|
4762
|
+
* "rel": "self",
|
|
4763
|
+
* "href": "/v1/cart/items",
|
|
4764
|
+
* "method": "POST"
|
|
4765
|
+
* }
|
|
4766
|
+
* ]
|
|
4767
|
+
* },
|
|
4768
|
+
* "error": {
|
|
4769
|
+
* "type": "https://{your-domain}/errors/rate-limit-exceeded",
|
|
4770
|
+
* "code": "RATE_LIMIT_EXCEEDED",
|
|
4771
|
+
* "title": "Rate Limit Exceeded",
|
|
4772
|
+
* "status": 429,
|
|
4773
|
+
* "detail": "Too many requests",
|
|
4774
|
+
* "instance": "/v1/cart/items",
|
|
4775
|
+
* "extensions": {
|
|
4776
|
+
* "message_code": "RATE_LIMIT_EXCEEDED",
|
|
4777
|
+
* "invalid_params": []
|
|
4778
|
+
* }
|
|
4779
|
+
* }
|
|
4780
|
+
* }
|
|
4781
|
+
*/
|
|
4782
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4783
|
+
};
|
|
4784
|
+
};
|
|
4785
|
+
/** @description Internal Server Error */
|
|
4786
|
+
500: {
|
|
4787
|
+
headers: {
|
|
4788
|
+
[name: string]: unknown;
|
|
4789
|
+
};
|
|
4790
|
+
content: {
|
|
4791
|
+
/**
|
|
4792
|
+
* @example {
|
|
4793
|
+
* "status": "error",
|
|
4794
|
+
* "message": "An unexpected error occurred",
|
|
4795
|
+
* "message_code": "SERVER_ERROR",
|
|
4796
|
+
* "metadata": {
|
|
4797
|
+
* "timestamp": "2025-08-05T18:38:57Z",
|
|
4798
|
+
* "requestId": "uuid",
|
|
4799
|
+
* "traceId": "uuid",
|
|
4800
|
+
* "version": "v1",
|
|
4801
|
+
* "executionTime": 0,
|
|
4802
|
+
* "language": "en-US",
|
|
4803
|
+
* "links": [
|
|
4804
|
+
* {
|
|
4805
|
+
* "rel": "self",
|
|
4806
|
+
* "href": "/v1/cart/items",
|
|
4807
|
+
* "method": "POST"
|
|
4808
|
+
* }
|
|
4809
|
+
* ]
|
|
4810
|
+
* },
|
|
4811
|
+
* "error": {
|
|
4812
|
+
* "type": "https://{your-domain}/errors/server-error",
|
|
4813
|
+
* "code": "SERVER_ERROR",
|
|
4814
|
+
* "title": "Server Error",
|
|
4815
|
+
* "status": 500,
|
|
4816
|
+
* "detail": "An unexpected error occurred",
|
|
4817
|
+
* "instance": "/v1/cart/items",
|
|
4818
|
+
* "extensions": {
|
|
4819
|
+
* "message_code": "SERVER_ERROR",
|
|
4820
|
+
* "invalid_params": []
|
|
4821
|
+
* }
|
|
4822
|
+
* }
|
|
4823
|
+
* }
|
|
4824
|
+
*/
|
|
4825
|
+
"application/json": components["schemas"]["StandardResponse"];
|
|
4826
|
+
};
|
|
4827
|
+
};
|
|
4828
|
+
};
|
|
4829
|
+
};
|
|
4830
|
+
}
|
|
4831
|
+
//# sourceMappingURL=generated.d.ts.map
|