listbee 0.4.0 → 0.6.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/README.md +187 -381
- package/dist/cjs/base-client.d.ts +9 -29
- package/dist/cjs/base-client.js +58 -14
- package/dist/cjs/base-client.js.map +1 -1
- package/dist/cjs/client.d.ts +17 -13
- package/dist/cjs/client.js +14 -11
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/errors.d.ts +12 -0
- package/dist/cjs/errors.js +31 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/generated/api-types.d.ts +4089 -0
- package/dist/cjs/generated/api-types.js +7 -0
- package/dist/cjs/generated/api-types.js.map +1 -0
- package/dist/cjs/generated/enums.d.ts +94 -0
- package/dist/cjs/generated/enums.js +87 -0
- package/dist/cjs/generated/enums.js.map +1 -0
- package/dist/cjs/generated/operations.d.ts +233 -0
- package/dist/cjs/generated/operations.js +39 -0
- package/dist/cjs/generated/operations.js.map +1 -0
- package/dist/cjs/generated/types.d.ts +68 -0
- package/dist/cjs/{types/order.js → generated/types.js} +1 -4
- package/dist/cjs/generated/types.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -13
- package/dist/cjs/index.js +22 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/account.d.ts +11 -6
- package/dist/cjs/resources/account.js +19 -8
- package/dist/cjs/resources/account.js.map +1 -1
- package/dist/cjs/resources/api-keys.d.ts +18 -4
- package/dist/cjs/resources/api-keys.js +17 -1
- package/dist/cjs/resources/api-keys.js.map +1 -1
- package/dist/cjs/resources/customers.d.ts +23 -0
- package/dist/cjs/resources/customers.js +44 -0
- package/dist/cjs/resources/customers.js.map +1 -0
- package/dist/cjs/resources/files.d.ts +27 -0
- package/dist/cjs/resources/files.js +37 -0
- package/dist/cjs/resources/files.js.map +1 -0
- package/dist/cjs/resources/index.d.ts +3 -1
- package/dist/cjs/resources/index.js +7 -3
- package/dist/cjs/resources/index.js.map +1 -1
- package/dist/cjs/resources/listings.d.ts +35 -35
- package/dist/cjs/resources/listings.js +51 -116
- package/dist/cjs/resources/listings.js.map +1 -1
- package/dist/cjs/resources/orders.d.ts +28 -16
- package/dist/cjs/resources/orders.js +43 -40
- package/dist/cjs/resources/orders.js.map +1 -1
- package/dist/cjs/resources/signup.d.ts +21 -9
- package/dist/cjs/resources/signup.js +20 -3
- package/dist/cjs/resources/signup.js.map +1 -1
- package/dist/cjs/resources/stripe.d.ts +18 -6
- package/dist/cjs/resources/stripe.js +18 -7
- package/dist/cjs/resources/stripe.js.map +1 -1
- package/dist/cjs/resources/webhooks.d.ts +59 -3
- package/dist/cjs/resources/webhooks.js +102 -21
- package/dist/cjs/resources/webhooks.js.map +1 -1
- package/dist/cjs/types/index.d.ts +4 -10
- package/dist/cjs/types/index.js +17 -10
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/shared.d.ts +25 -145
- package/dist/cjs/types/shared.js +12 -66
- package/dist/cjs/types/shared.js.map +1 -1
- package/dist/esm/base-client.d.ts +9 -29
- package/dist/esm/base-client.js +56 -12
- package/dist/esm/base-client.js.map +1 -1
- package/dist/esm/client.d.ts +17 -13
- package/dist/esm/client.js +14 -11
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/errors.d.ts +12 -0
- package/dist/esm/errors.js +27 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/generated/api-types.d.ts +4089 -0
- package/dist/esm/generated/api-types.js +6 -0
- package/dist/esm/generated/api-types.js.map +1 -0
- package/dist/esm/generated/enums.d.ts +94 -0
- package/dist/esm/generated/enums.js +84 -0
- package/dist/esm/generated/enums.js.map +1 -0
- package/dist/esm/generated/operations.d.ts +233 -0
- package/dist/esm/generated/operations.js +36 -0
- package/dist/esm/generated/operations.js.map +1 -0
- package/dist/esm/generated/types.d.ts +68 -0
- package/dist/esm/generated/types.js +2 -0
- package/dist/esm/generated/types.js.map +1 -0
- package/dist/esm/index.d.ts +7 -13
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/account.d.ts +11 -6
- package/dist/esm/resources/account.js +19 -8
- package/dist/esm/resources/account.js.map +1 -1
- package/dist/esm/resources/api-keys.d.ts +18 -4
- package/dist/esm/resources/api-keys.js +17 -1
- package/dist/esm/resources/api-keys.js.map +1 -1
- package/dist/esm/resources/customers.d.ts +23 -0
- package/dist/esm/resources/customers.js +39 -0
- package/dist/esm/resources/customers.js.map +1 -0
- package/dist/esm/resources/files.d.ts +27 -0
- package/dist/esm/resources/files.js +33 -0
- package/dist/esm/resources/files.js.map +1 -0
- package/dist/esm/resources/index.d.ts +3 -1
- package/dist/esm/resources/index.js +3 -1
- package/dist/esm/resources/index.js.map +1 -1
- package/dist/esm/resources/listings.d.ts +35 -35
- package/dist/esm/resources/listings.js +50 -116
- package/dist/esm/resources/listings.js.map +1 -1
- package/dist/esm/resources/orders.d.ts +28 -16
- package/dist/esm/resources/orders.js +43 -40
- package/dist/esm/resources/orders.js.map +1 -1
- package/dist/esm/resources/signup.d.ts +21 -9
- package/dist/esm/resources/signup.js +20 -3
- package/dist/esm/resources/signup.js.map +1 -1
- package/dist/esm/resources/stripe.d.ts +18 -6
- package/dist/esm/resources/stripe.js +18 -7
- package/dist/esm/resources/stripe.js.map +1 -1
- package/dist/esm/resources/webhooks.d.ts +59 -3
- package/dist/esm/resources/webhooks.js +101 -21
- package/dist/esm/resources/webhooks.js.map +1 -1
- package/dist/esm/types/index.d.ts +4 -10
- package/dist/esm/types/index.js +2 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/shared.d.ts +25 -145
- package/dist/esm/types/shared.js +10 -65
- package/dist/esm/types/shared.js.map +1 -1
- package/package.json +4 -82
- package/dist/cjs/resources/stores.d.ts +0 -31
- package/dist/cjs/resources/stores.js +0 -67
- package/dist/cjs/resources/stores.js.map +0 -1
- package/dist/cjs/types/account.d.ts +0 -47
- package/dist/cjs/types/account.js +0 -6
- package/dist/cjs/types/account.js.map +0 -1
- package/dist/cjs/types/api-key.d.ts +0 -18
- package/dist/cjs/types/api-key.js +0 -6
- package/dist/cjs/types/api-key.js.map +0 -1
- package/dist/cjs/types/listing.d.ts +0 -189
- package/dist/cjs/types/listing.js +0 -6
- package/dist/cjs/types/listing.js.map +0 -1
- package/dist/cjs/types/order.d.ts +0 -74
- package/dist/cjs/types/order.js.map +0 -1
- package/dist/cjs/types/signup.d.ts +0 -24
- package/dist/cjs/types/signup.js +0 -6
- package/dist/cjs/types/signup.js.map +0 -1
- package/dist/cjs/types/store.d.ts +0 -70
- package/dist/cjs/types/store.js +0 -6
- package/dist/cjs/types/store.js.map +0 -1
- package/dist/cjs/types/stripe.d.ts +0 -12
- package/dist/cjs/types/stripe.js +0 -6
- package/dist/cjs/types/stripe.js.map +0 -1
- package/dist/cjs/types/webhook.d.ts +0 -88
- package/dist/cjs/types/webhook.js +0 -6
- package/dist/cjs/types/webhook.js.map +0 -1
- package/dist/esm/resources/stores.d.ts +0 -31
- package/dist/esm/resources/stores.js +0 -63
- package/dist/esm/resources/stores.js.map +0 -1
- package/dist/esm/types/account.d.ts +0 -47
- package/dist/esm/types/account.js +0 -5
- package/dist/esm/types/account.js.map +0 -1
- package/dist/esm/types/api-key.d.ts +0 -18
- package/dist/esm/types/api-key.js +0 -5
- package/dist/esm/types/api-key.js.map +0 -1
- package/dist/esm/types/listing.d.ts +0 -189
- package/dist/esm/types/listing.js +0 -5
- package/dist/esm/types/listing.js.map +0 -1
- package/dist/esm/types/order.d.ts +0 -74
- package/dist/esm/types/order.js +0 -5
- package/dist/esm/types/order.js.map +0 -1
- package/dist/esm/types/signup.d.ts +0 -24
- package/dist/esm/types/signup.js +0 -5
- package/dist/esm/types/signup.js.map +0 -1
- package/dist/esm/types/store.d.ts +0 -70
- package/dist/esm/types/store.js +0 -5
- package/dist/esm/types/store.js.map +0 -1
- package/dist/esm/types/stripe.d.ts +0 -12
- package/dist/esm/types/stripe.js +0 -5
- package/dist/esm/types/stripe.js.map +0 -1
- package/dist/esm/types/webhook.d.ts +0 -88
- package/dist/esm/types/webhook.js +0 -5
- package/dist/esm/types/webhook.js.map +0 -1
|
@@ -0,0 +1,4089 @@
|
|
|
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/account": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Get account
|
|
15
|
+
* @description Account status and readiness. Check readiness.operational — if false, readiness.actions lists what's needed. readiness.next is the highest-priority action.
|
|
16
|
+
*/
|
|
17
|
+
get: operations["get_account"];
|
|
18
|
+
/**
|
|
19
|
+
* Update account
|
|
20
|
+
* @description Update account profile and settings. Supports display_name, bio, avatar (file token from POST /v1/files), and ga_measurement_id.
|
|
21
|
+
*/
|
|
22
|
+
put: operations["update_account"];
|
|
23
|
+
/**
|
|
24
|
+
* Create account
|
|
25
|
+
* @description Start account creation or re-authentication. Sends a 6-digit OTP to the email. Idempotent — calling again re-sends. No authentication required.
|
|
26
|
+
*/
|
|
27
|
+
post: operations["create_account"];
|
|
28
|
+
/**
|
|
29
|
+
* Delete account
|
|
30
|
+
* @description Permanently delete the authenticated account. PII is anonymized, API keys revoked, webhooks disabled. Order history is retained for accounting. This action is irreversible.
|
|
31
|
+
*/
|
|
32
|
+
delete: operations["delete_account"];
|
|
33
|
+
options?: never;
|
|
34
|
+
head?: never;
|
|
35
|
+
patch?: never;
|
|
36
|
+
trace?: never;
|
|
37
|
+
};
|
|
38
|
+
"/v1/account/verify/otp": {
|
|
39
|
+
parameters: {
|
|
40
|
+
query?: never;
|
|
41
|
+
header?: never;
|
|
42
|
+
path?: never;
|
|
43
|
+
cookie?: never;
|
|
44
|
+
};
|
|
45
|
+
get?: never;
|
|
46
|
+
put?: never;
|
|
47
|
+
/**
|
|
48
|
+
* Verify OTP
|
|
49
|
+
* @description Verify OTP code. Returns account and API key. Works for both new and returning accounts.
|
|
50
|
+
*/
|
|
51
|
+
post: operations["verify_otp"];
|
|
52
|
+
delete?: never;
|
|
53
|
+
options?: never;
|
|
54
|
+
head?: never;
|
|
55
|
+
patch?: never;
|
|
56
|
+
trace?: never;
|
|
57
|
+
};
|
|
58
|
+
"/v1/api-keys": {
|
|
59
|
+
parameters: {
|
|
60
|
+
query?: never;
|
|
61
|
+
header?: never;
|
|
62
|
+
path?: never;
|
|
63
|
+
cookie?: never;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* List API keys
|
|
67
|
+
* @description List all API keys for the authenticated account with full key values.
|
|
68
|
+
*/
|
|
69
|
+
get: operations["list_api_keys"];
|
|
70
|
+
put?: never;
|
|
71
|
+
/**
|
|
72
|
+
* Create API key
|
|
73
|
+
* @description Create a new API key. The full key value is included in the response and always retrievable via list_api_keys.
|
|
74
|
+
*/
|
|
75
|
+
post: operations["create_api_key"];
|
|
76
|
+
delete?: never;
|
|
77
|
+
options?: never;
|
|
78
|
+
head?: never;
|
|
79
|
+
patch?: never;
|
|
80
|
+
trace?: never;
|
|
81
|
+
};
|
|
82
|
+
"/v1/api-keys/{key_id}": {
|
|
83
|
+
parameters: {
|
|
84
|
+
query?: never;
|
|
85
|
+
header?: never;
|
|
86
|
+
path?: never;
|
|
87
|
+
cookie?: never;
|
|
88
|
+
};
|
|
89
|
+
get?: never;
|
|
90
|
+
put?: never;
|
|
91
|
+
post?: never;
|
|
92
|
+
/**
|
|
93
|
+
* Delete API key
|
|
94
|
+
* @description Revoke an API key. Cannot delete the key you are currently authenticating with.
|
|
95
|
+
*/
|
|
96
|
+
delete: operations["delete_api_key"];
|
|
97
|
+
options?: never;
|
|
98
|
+
head?: never;
|
|
99
|
+
patch?: never;
|
|
100
|
+
trace?: never;
|
|
101
|
+
};
|
|
102
|
+
"/v1/customers": {
|
|
103
|
+
parameters: {
|
|
104
|
+
query?: never;
|
|
105
|
+
header?: never;
|
|
106
|
+
path?: never;
|
|
107
|
+
cookie?: never;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* List customers
|
|
111
|
+
* @description List customers (buyers) for the authenticated account. Customers are auto-created when a buyer completes their first order. Use this endpoint to get buyer email addresses for marketing, analyze purchasing patterns, or identify repeat customers. Sorted by most recent purchase first.
|
|
112
|
+
*/
|
|
113
|
+
get: operations["list_customers"];
|
|
114
|
+
put?: never;
|
|
115
|
+
post?: never;
|
|
116
|
+
delete?: never;
|
|
117
|
+
options?: never;
|
|
118
|
+
head?: never;
|
|
119
|
+
patch?: never;
|
|
120
|
+
trace?: never;
|
|
121
|
+
};
|
|
122
|
+
"/v1/customers/{customer_id}": {
|
|
123
|
+
parameters: {
|
|
124
|
+
query?: never;
|
|
125
|
+
header?: never;
|
|
126
|
+
path?: never;
|
|
127
|
+
cookie?: never;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Get customer
|
|
131
|
+
* @description Get a single customer by ID. Customers are auto-created from order data — they represent unique buyer email addresses that have purchased from the seller.
|
|
132
|
+
*/
|
|
133
|
+
get: operations["get_customer"];
|
|
134
|
+
put?: never;
|
|
135
|
+
post?: never;
|
|
136
|
+
delete?: never;
|
|
137
|
+
options?: never;
|
|
138
|
+
head?: never;
|
|
139
|
+
patch?: never;
|
|
140
|
+
trace?: never;
|
|
141
|
+
};
|
|
142
|
+
"/v1/files": {
|
|
143
|
+
parameters: {
|
|
144
|
+
query?: never;
|
|
145
|
+
header?: never;
|
|
146
|
+
path?: never;
|
|
147
|
+
cookie?: never;
|
|
148
|
+
};
|
|
149
|
+
get?: never;
|
|
150
|
+
put?: never;
|
|
151
|
+
/**
|
|
152
|
+
* Upload file
|
|
153
|
+
* @description Upload a file for use as a listing deliverable. Returns a file token valid for 24 hours. Pass the token to PUT /v1/listings/{listing_id}/deliverables or POST /v1/orders/{id}/deliver to attach the file. Max size: 25 MB. Accepted types: PDF, EPUB, ZIP, images, audio, video, Office documents.
|
|
154
|
+
*/
|
|
155
|
+
post: operations["upload_file"];
|
|
156
|
+
delete?: never;
|
|
157
|
+
options?: never;
|
|
158
|
+
head?: never;
|
|
159
|
+
patch?: never;
|
|
160
|
+
trace?: never;
|
|
161
|
+
};
|
|
162
|
+
"/v1/listings": {
|
|
163
|
+
parameters: {
|
|
164
|
+
query?: never;
|
|
165
|
+
header?: never;
|
|
166
|
+
path?: never;
|
|
167
|
+
cookie?: never;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* List listings
|
|
171
|
+
* @description List all listings for the authenticated account. Filter by status. Cursor-paginated. Each listing includes readiness — check readiness.sellable to see if it can accept orders.
|
|
172
|
+
*/
|
|
173
|
+
get: operations["list_listings"];
|
|
174
|
+
put?: never;
|
|
175
|
+
/**
|
|
176
|
+
* Create listing
|
|
177
|
+
* @description Create a listing to sell digital content. Returns product page URL and readiness. If readiness.sellable is false, follow readiness.actions to resolve. readiness.next is the first action to take. When your account uses a Stripe test key, checkout URLs point to Stripe test mode.
|
|
178
|
+
*/
|
|
179
|
+
post: operations["create_listing"];
|
|
180
|
+
delete?: never;
|
|
181
|
+
options?: never;
|
|
182
|
+
head?: never;
|
|
183
|
+
patch?: never;
|
|
184
|
+
trace?: never;
|
|
185
|
+
};
|
|
186
|
+
"/v1/listings/{listing_id}": {
|
|
187
|
+
parameters: {
|
|
188
|
+
query?: never;
|
|
189
|
+
header?: never;
|
|
190
|
+
path?: never;
|
|
191
|
+
cookie?: never;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Get listing
|
|
195
|
+
* @description Get a single listing by ID. Check readiness.sellable — if false, readiness.actions tells you what's needed.
|
|
196
|
+
*/
|
|
197
|
+
get: operations["get_listing"];
|
|
198
|
+
/**
|
|
199
|
+
* Update listing
|
|
200
|
+
* @description Update listing fields. Slug can be changed while in draft status — input is slugified, conflicts get a random suffix. Returns updated listing with readiness.
|
|
201
|
+
*/
|
|
202
|
+
put: operations["update_listing"];
|
|
203
|
+
post?: never;
|
|
204
|
+
/**
|
|
205
|
+
* Delete listing
|
|
206
|
+
* @description Delete a listing by ID and its stored content. Irreversible.
|
|
207
|
+
*/
|
|
208
|
+
delete: operations["delete_listing"];
|
|
209
|
+
options?: never;
|
|
210
|
+
head?: never;
|
|
211
|
+
patch?: never;
|
|
212
|
+
trace?: never;
|
|
213
|
+
};
|
|
214
|
+
"/v1/listings/{listing_id}/deliverables": {
|
|
215
|
+
parameters: {
|
|
216
|
+
query?: never;
|
|
217
|
+
header?: never;
|
|
218
|
+
path?: never;
|
|
219
|
+
cookie?: never;
|
|
220
|
+
};
|
|
221
|
+
get?: never;
|
|
222
|
+
/**
|
|
223
|
+
* Set deliverables
|
|
224
|
+
* @description Replace all deliverables on a draft listing. Accepts an array of up to 3 deliverables (file, url, text). File tokens must be obtained via POST /v1/files first. Old file deliverables are automatically cleaned up from storage.
|
|
225
|
+
*/
|
|
226
|
+
put: operations["set_deliverables"];
|
|
227
|
+
post?: never;
|
|
228
|
+
/**
|
|
229
|
+
* Remove deliverables
|
|
230
|
+
* @description Remove all deliverables from a draft listing. Demotes the listing to external fulfillment. Draft only — returns 409 if the listing is published.
|
|
231
|
+
*/
|
|
232
|
+
delete: operations["remove_deliverables"];
|
|
233
|
+
options?: never;
|
|
234
|
+
head?: never;
|
|
235
|
+
patch?: never;
|
|
236
|
+
trace?: never;
|
|
237
|
+
};
|
|
238
|
+
"/v1/listings/{listing_id}/publish": {
|
|
239
|
+
parameters: {
|
|
240
|
+
query?: never;
|
|
241
|
+
header?: never;
|
|
242
|
+
path?: never;
|
|
243
|
+
cookie?: never;
|
|
244
|
+
};
|
|
245
|
+
get?: never;
|
|
246
|
+
put?: never;
|
|
247
|
+
/**
|
|
248
|
+
* Publish listing
|
|
249
|
+
* @description Validate and publish a draft listing. Transitions to published state — the listing becomes live, buyable, and immutable. Fails with 409 and readiness actions if requirements are not met.
|
|
250
|
+
*/
|
|
251
|
+
post: operations["publish_listing"];
|
|
252
|
+
delete?: never;
|
|
253
|
+
options?: never;
|
|
254
|
+
head?: never;
|
|
255
|
+
patch?: never;
|
|
256
|
+
trace?: never;
|
|
257
|
+
};
|
|
258
|
+
"/v1/orders": {
|
|
259
|
+
parameters: {
|
|
260
|
+
query?: never;
|
|
261
|
+
header?: never;
|
|
262
|
+
path?: never;
|
|
263
|
+
cookie?: never;
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* List orders
|
|
267
|
+
* @description List orders for the authenticated account. Filter by status, listing, and date range. Paginated. Order lifecycle: PENDING (checkout started, buyer data captured) → PAID (payment confirmed, order.paid webhook fires) → FULFILLED (content delivered or goods shipped). Terminal states: CANCELED (payment failed or abandoned), FAILED (system error). Managed listings auto-fulfill on payment. External listings stay in PAID until the seller calls fulfill() or ship().
|
|
268
|
+
*/
|
|
269
|
+
get: operations["list_orders"];
|
|
270
|
+
put?: never;
|
|
271
|
+
post?: never;
|
|
272
|
+
delete?: never;
|
|
273
|
+
options?: never;
|
|
274
|
+
head?: never;
|
|
275
|
+
patch?: never;
|
|
276
|
+
trace?: never;
|
|
277
|
+
};
|
|
278
|
+
"/v1/orders/{order_id}": {
|
|
279
|
+
parameters: {
|
|
280
|
+
query?: never;
|
|
281
|
+
header?: never;
|
|
282
|
+
path?: never;
|
|
283
|
+
cookie?: never;
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Get order
|
|
287
|
+
* @description Get a single order by ID. Order lifecycle: PENDING → PAID → FULFILLED. Managed listings auto-fulfill. External listings require fulfill() or ship() after payment.
|
|
288
|
+
*/
|
|
289
|
+
get: operations["get_order"];
|
|
290
|
+
put?: never;
|
|
291
|
+
post?: never;
|
|
292
|
+
delete?: never;
|
|
293
|
+
options?: never;
|
|
294
|
+
head?: never;
|
|
295
|
+
patch?: never;
|
|
296
|
+
trace?: never;
|
|
297
|
+
};
|
|
298
|
+
"/v1/orders/{order_id}/refund": {
|
|
299
|
+
parameters: {
|
|
300
|
+
query?: never;
|
|
301
|
+
header?: never;
|
|
302
|
+
path?: never;
|
|
303
|
+
cookie?: never;
|
|
304
|
+
};
|
|
305
|
+
get?: never;
|
|
306
|
+
put?: never;
|
|
307
|
+
/**
|
|
308
|
+
* Refund order
|
|
309
|
+
* @description Issue a full refund for an order. The refund is processed through Stripe on the seller's connected account. Only orders with status `paid` or `fulfilled` can be refunded. If the order is already refunded, returns the order as-is (idempotent). The order's refund_amount and refunded_at update asynchronously via Stripe webhook.
|
|
310
|
+
*/
|
|
311
|
+
post: operations["refund_order"];
|
|
312
|
+
delete?: never;
|
|
313
|
+
options?: never;
|
|
314
|
+
head?: never;
|
|
315
|
+
patch?: never;
|
|
316
|
+
trace?: never;
|
|
317
|
+
};
|
|
318
|
+
"/v1/orders/{order_id}/deliver": {
|
|
319
|
+
parameters: {
|
|
320
|
+
query?: never;
|
|
321
|
+
header?: never;
|
|
322
|
+
path?: never;
|
|
323
|
+
cookie?: never;
|
|
324
|
+
};
|
|
325
|
+
get?: never;
|
|
326
|
+
put?: never;
|
|
327
|
+
/**
|
|
328
|
+
* Deliver order
|
|
329
|
+
* @description Mark an order as fulfilled and push a deliverable for ListBee to deliver. Transitions PAID → FULFILLED. Only valid for orders on EXTERNAL listings. Fires order.fulfilled webhook with the full order snapshot. Idempotent — calling on an already-fulfilled order returns 200.
|
|
330
|
+
*/
|
|
331
|
+
post: operations["deliver_order"];
|
|
332
|
+
delete?: never;
|
|
333
|
+
options?: never;
|
|
334
|
+
head?: never;
|
|
335
|
+
patch?: never;
|
|
336
|
+
trace?: never;
|
|
337
|
+
};
|
|
338
|
+
"/v1/orders/{order_id}/ship": {
|
|
339
|
+
parameters: {
|
|
340
|
+
query?: never;
|
|
341
|
+
header?: never;
|
|
342
|
+
path?: never;
|
|
343
|
+
cookie?: never;
|
|
344
|
+
};
|
|
345
|
+
get?: never;
|
|
346
|
+
put?: never;
|
|
347
|
+
/**
|
|
348
|
+
* Ship order
|
|
349
|
+
* @description Record shipping info (carrier + tracking code) and transition the order from PAID → FULFILLED. Only valid for orders on EXTERNAL listings with physical goods. Fires order.fulfilled webhook with shipping details in the payload. Idempotent when called with the same tracking code.
|
|
350
|
+
*/
|
|
351
|
+
post: operations["ship_order"];
|
|
352
|
+
delete?: never;
|
|
353
|
+
options?: never;
|
|
354
|
+
head?: never;
|
|
355
|
+
patch?: never;
|
|
356
|
+
trace?: never;
|
|
357
|
+
};
|
|
358
|
+
"/v1/account/stripe/connect": {
|
|
359
|
+
parameters: {
|
|
360
|
+
query?: never;
|
|
361
|
+
header?: never;
|
|
362
|
+
path?: never;
|
|
363
|
+
cookie?: never;
|
|
364
|
+
};
|
|
365
|
+
get?: never;
|
|
366
|
+
put?: never;
|
|
367
|
+
/**
|
|
368
|
+
* Start Stripe Connect onboarding
|
|
369
|
+
* @description Start Stripe Connect guided onboarding. Returns a URL to redirect the human to. The human completes Stripe's identity and bank account verification flow. On completion, Stripe fires an account.updated webhook and ListBee marks the account as connected. The stripe_account_id is saved immediately — payment_config is set only after webhook confirmation.
|
|
370
|
+
*/
|
|
371
|
+
post: operations["start_stripe_connect"];
|
|
372
|
+
delete?: never;
|
|
373
|
+
options?: never;
|
|
374
|
+
head?: never;
|
|
375
|
+
patch?: never;
|
|
376
|
+
trace?: never;
|
|
377
|
+
};
|
|
378
|
+
"/v1/account/stripe": {
|
|
379
|
+
parameters: {
|
|
380
|
+
query?: never;
|
|
381
|
+
header?: never;
|
|
382
|
+
path?: never;
|
|
383
|
+
cookie?: never;
|
|
384
|
+
};
|
|
385
|
+
get?: never;
|
|
386
|
+
put?: never;
|
|
387
|
+
post?: never;
|
|
388
|
+
/**
|
|
389
|
+
* Disconnect Stripe
|
|
390
|
+
* @description Remove Stripe configuration from the account. The account will no longer accept payments until a new Connect session is completed.
|
|
391
|
+
*/
|
|
392
|
+
delete: operations["disconnect_stripe"];
|
|
393
|
+
options?: never;
|
|
394
|
+
head?: never;
|
|
395
|
+
patch?: never;
|
|
396
|
+
trace?: never;
|
|
397
|
+
};
|
|
398
|
+
"/v1/webhooks": {
|
|
399
|
+
parameters: {
|
|
400
|
+
query?: never;
|
|
401
|
+
header?: never;
|
|
402
|
+
path?: never;
|
|
403
|
+
cookie?: never;
|
|
404
|
+
};
|
|
405
|
+
/**
|
|
406
|
+
* List webhooks
|
|
407
|
+
* @description List all webhook endpoints for the authenticated account. Use POST /v1/webhooks to register new endpoints. All order event payloads include the full order snapshot — no follow-up API calls needed.
|
|
408
|
+
*/
|
|
409
|
+
get: operations["list_webhooks"];
|
|
410
|
+
put?: never;
|
|
411
|
+
/**
|
|
412
|
+
* Create webhook
|
|
413
|
+
* @description Register a webhook endpoint. Returns the endpoint with its signing secret — store it, shown once. All order events (order.paid, order.fulfilled, order.shipped, order.refunded, order.disputed, order.dispute_closed, order.canceled) include a full order snapshot in the payload: order_id, listing_id, listing_slug, buyer_email, amount, currency, status, checkout_data, shipping_address, timestamps, carrier/tracking, and deliverable info. Agents never need a follow-up API call after receiving a webhook. See the WebhookPayloadExample schema for the full payload shape.
|
|
414
|
+
*/
|
|
415
|
+
post: operations["create_webhook"];
|
|
416
|
+
delete?: never;
|
|
417
|
+
options?: never;
|
|
418
|
+
head?: never;
|
|
419
|
+
patch?: never;
|
|
420
|
+
trace?: never;
|
|
421
|
+
};
|
|
422
|
+
"/v1/webhooks/{webhook_id}": {
|
|
423
|
+
parameters: {
|
|
424
|
+
query?: never;
|
|
425
|
+
header?: never;
|
|
426
|
+
path?: never;
|
|
427
|
+
cookie?: never;
|
|
428
|
+
};
|
|
429
|
+
get?: never;
|
|
430
|
+
/**
|
|
431
|
+
* Update webhook
|
|
432
|
+
* @description Update a webhook endpoint. Only provided fields are changed.
|
|
433
|
+
*/
|
|
434
|
+
put: operations["update_webhook"];
|
|
435
|
+
post?: never;
|
|
436
|
+
/**
|
|
437
|
+
* Delete webhook
|
|
438
|
+
* @description Delete a webhook endpoint. Irreversible.
|
|
439
|
+
*/
|
|
440
|
+
delete: operations["delete_webhook"];
|
|
441
|
+
options?: never;
|
|
442
|
+
head?: never;
|
|
443
|
+
patch?: never;
|
|
444
|
+
trace?: never;
|
|
445
|
+
};
|
|
446
|
+
"/v1/webhooks/{webhook_id}/events": {
|
|
447
|
+
parameters: {
|
|
448
|
+
query?: never;
|
|
449
|
+
header?: never;
|
|
450
|
+
path?: never;
|
|
451
|
+
cookie?: never;
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* List webhook delivery events
|
|
455
|
+
* @description List delivery event history for a webhook endpoint. Use to debug failed deliveries.
|
|
456
|
+
*/
|
|
457
|
+
get: operations["list_webhook_events"];
|
|
458
|
+
put?: never;
|
|
459
|
+
post?: never;
|
|
460
|
+
delete?: never;
|
|
461
|
+
options?: never;
|
|
462
|
+
head?: never;
|
|
463
|
+
patch?: never;
|
|
464
|
+
trace?: never;
|
|
465
|
+
};
|
|
466
|
+
"/v1/webhooks/{webhook_id}/events/{event_id}/retry": {
|
|
467
|
+
parameters: {
|
|
468
|
+
query?: never;
|
|
469
|
+
header?: never;
|
|
470
|
+
path?: never;
|
|
471
|
+
cookie?: never;
|
|
472
|
+
};
|
|
473
|
+
get?: never;
|
|
474
|
+
put?: never;
|
|
475
|
+
/**
|
|
476
|
+
* Retry a webhook event
|
|
477
|
+
* @description Reset a failed webhook event and re-dispatch for immediate delivery. Clears attempts, failed_at, last_error, and delivered_at, then enqueues a new delivery.
|
|
478
|
+
*/
|
|
479
|
+
post: operations["retry_webhook_event"];
|
|
480
|
+
delete?: never;
|
|
481
|
+
options?: never;
|
|
482
|
+
head?: never;
|
|
483
|
+
patch?: never;
|
|
484
|
+
trace?: never;
|
|
485
|
+
};
|
|
486
|
+
"/v1/webhooks/{webhook_id}/test": {
|
|
487
|
+
parameters: {
|
|
488
|
+
query?: never;
|
|
489
|
+
header?: never;
|
|
490
|
+
path?: never;
|
|
491
|
+
cookie?: never;
|
|
492
|
+
};
|
|
493
|
+
get?: never;
|
|
494
|
+
put?: never;
|
|
495
|
+
/**
|
|
496
|
+
* Test webhook
|
|
497
|
+
* @description Send a test event to a webhook endpoint and return the delivery result. Does not persist an event record.
|
|
498
|
+
*/
|
|
499
|
+
post: operations["test_webhook"];
|
|
500
|
+
delete?: never;
|
|
501
|
+
options?: never;
|
|
502
|
+
head?: never;
|
|
503
|
+
patch?: never;
|
|
504
|
+
trace?: never;
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
export type webhooks = Record<string, never>;
|
|
508
|
+
export interface components {
|
|
509
|
+
schemas: {
|
|
510
|
+
/** AccountReadiness */
|
|
511
|
+
AccountReadiness: {
|
|
512
|
+
/**
|
|
513
|
+
* Operational
|
|
514
|
+
* @description True when the account can sell. False means actions are needed.
|
|
515
|
+
* @example true
|
|
516
|
+
*/
|
|
517
|
+
operational: boolean;
|
|
518
|
+
/**
|
|
519
|
+
* Actions
|
|
520
|
+
* @description What's needed to make this account operational. Empty when operational is true.
|
|
521
|
+
*/
|
|
522
|
+
actions?: components["schemas"]["Action"][];
|
|
523
|
+
/**
|
|
524
|
+
* Next
|
|
525
|
+
* @description Code of the highest-priority action.
|
|
526
|
+
* @example connect_stripe
|
|
527
|
+
*/
|
|
528
|
+
next?: string | null;
|
|
529
|
+
};
|
|
530
|
+
/** AccountResponse */
|
|
531
|
+
AccountResponse: {
|
|
532
|
+
/**
|
|
533
|
+
* Object
|
|
534
|
+
* @description Object type identifier. Always `account`.
|
|
535
|
+
* @default account
|
|
536
|
+
* @example account
|
|
537
|
+
* @constant
|
|
538
|
+
*/
|
|
539
|
+
object: "account";
|
|
540
|
+
/**
|
|
541
|
+
* Id
|
|
542
|
+
* @description Unique identifier
|
|
543
|
+
* @example acc_7kQ2xY9mN3pR5tW1
|
|
544
|
+
*/
|
|
545
|
+
id: string;
|
|
546
|
+
/**
|
|
547
|
+
* Email
|
|
548
|
+
* @description Account email address
|
|
549
|
+
* @example seller@example.com
|
|
550
|
+
*/
|
|
551
|
+
email: string;
|
|
552
|
+
/**
|
|
553
|
+
* Display Name
|
|
554
|
+
* @description Seller name shown on product pages.
|
|
555
|
+
* @example Acme Digital
|
|
556
|
+
*/
|
|
557
|
+
display_name?: string | null;
|
|
558
|
+
/**
|
|
559
|
+
* Bio
|
|
560
|
+
* @description Short seller bio shown on product pages.
|
|
561
|
+
* @example We create premium digital tools for modern marketers.
|
|
562
|
+
*/
|
|
563
|
+
bio?: string | null;
|
|
564
|
+
/**
|
|
565
|
+
* Has Avatar
|
|
566
|
+
* @description true if avatar image exists. Upload via POST /v1/files, set via PUT /v1/account.
|
|
567
|
+
* @example true
|
|
568
|
+
*/
|
|
569
|
+
has_avatar: boolean;
|
|
570
|
+
/**
|
|
571
|
+
* Plan
|
|
572
|
+
* @description Current plan tier. Values: free (15% fee), growth (5% fee), scale (3% fee).
|
|
573
|
+
* @example free
|
|
574
|
+
* @example growth
|
|
575
|
+
* @example scale
|
|
576
|
+
*/
|
|
577
|
+
plan: string;
|
|
578
|
+
/**
|
|
579
|
+
* Fee Rate
|
|
580
|
+
* @description Transaction fee rate as decimal string. Determined by plan: free=0.15, growth=0.05, scale=0.03. Applied as platform fee on each order.
|
|
581
|
+
* @example 0.10
|
|
582
|
+
* @example 0.05
|
|
583
|
+
*/
|
|
584
|
+
fee_rate: string;
|
|
585
|
+
/**
|
|
586
|
+
* Billing Status
|
|
587
|
+
* @description Subscription billing status. `active` = payments current. `past_due` = payment failed, service continues during grace period. `unpaid` = grace period expired, listings may be blocked.
|
|
588
|
+
* @example active
|
|
589
|
+
* @example past_due
|
|
590
|
+
*/
|
|
591
|
+
billing_status: string;
|
|
592
|
+
/**
|
|
593
|
+
* Currency
|
|
594
|
+
* @description Account currency (ISO 4217, lowercase). Set automatically from Stripe Connect. Cannot be changed after connection.
|
|
595
|
+
* @example usd
|
|
596
|
+
* @example eur
|
|
597
|
+
*/
|
|
598
|
+
currency?: string | null;
|
|
599
|
+
/**
|
|
600
|
+
* Ga Measurement Id
|
|
601
|
+
* @description Google Analytics 4 Measurement ID (G-XXXXXXXXXX). Set via PUT /v1/account. Injected on all your product pages and thank-you pages
|
|
602
|
+
* @example G-ABC123XYZ
|
|
603
|
+
*/
|
|
604
|
+
ga_measurement_id?: string | null;
|
|
605
|
+
/** @description Account aggregate statistics. */
|
|
606
|
+
stats: components["schemas"]["AccountStats"];
|
|
607
|
+
/** @description Account operational readiness. `operational` is true when the account can sell. If false, `actions` lists what's needed with kind (api/human), resolve details, and `next` points to the highest-priority action. */
|
|
608
|
+
readiness: components["schemas"]["AccountReadiness"];
|
|
609
|
+
/**
|
|
610
|
+
* Created At
|
|
611
|
+
* Format: date-time
|
|
612
|
+
* @description Time at which the account was created
|
|
613
|
+
* @example 2026-03-15T10:00:00Z
|
|
614
|
+
*/
|
|
615
|
+
created_at: string;
|
|
616
|
+
};
|
|
617
|
+
/** AccountStats */
|
|
618
|
+
AccountStats: {
|
|
619
|
+
/**
|
|
620
|
+
* Total Revenue
|
|
621
|
+
* @description Total revenue in smallest currency unit (completed orders)
|
|
622
|
+
* @example 145000
|
|
623
|
+
*/
|
|
624
|
+
total_revenue: number;
|
|
625
|
+
/**
|
|
626
|
+
* Total Orders
|
|
627
|
+
* @description Total number of orders this month
|
|
628
|
+
* @example 47
|
|
629
|
+
*/
|
|
630
|
+
total_orders: number;
|
|
631
|
+
/**
|
|
632
|
+
* Total Listings
|
|
633
|
+
* @description Total number of listings
|
|
634
|
+
* @example 12
|
|
635
|
+
*/
|
|
636
|
+
total_listings: number;
|
|
637
|
+
};
|
|
638
|
+
/** Action */
|
|
639
|
+
Action: {
|
|
640
|
+
/**
|
|
641
|
+
* @description Machine-readable action identifier for automation branching.
|
|
642
|
+
* @example connect_stripe
|
|
643
|
+
*/
|
|
644
|
+
code: components["schemas"]["ActionCode"];
|
|
645
|
+
/**
|
|
646
|
+
* @description Whether an agent can execute this directly (api) or needs human interaction (human).
|
|
647
|
+
* @example api
|
|
648
|
+
*/
|
|
649
|
+
kind: components["schemas"]["ActionKind"];
|
|
650
|
+
/**
|
|
651
|
+
* Message
|
|
652
|
+
* @description Human-readable explanation. AI agents relay this to users.
|
|
653
|
+
* @example Set Stripe secret key to accept payments
|
|
654
|
+
*/
|
|
655
|
+
message: string;
|
|
656
|
+
/** @description How to resolve this action. */
|
|
657
|
+
resolve: components["schemas"]["ActionResolve"];
|
|
658
|
+
};
|
|
659
|
+
/**
|
|
660
|
+
* ActionCode
|
|
661
|
+
* @enum {string}
|
|
662
|
+
*/
|
|
663
|
+
ActionCode: "connect_stripe" | "enable_charges" | "update_billing" | "configure_webhook" | "publish_listing" | "webhook_disabled";
|
|
664
|
+
/**
|
|
665
|
+
* ActionKind
|
|
666
|
+
* @enum {string}
|
|
667
|
+
*/
|
|
668
|
+
ActionKind: "api" | "human";
|
|
669
|
+
/** ActionResolve */
|
|
670
|
+
ActionResolve: {
|
|
671
|
+
/**
|
|
672
|
+
* Method
|
|
673
|
+
* @description How to resolve: HTTP method (POST, GET) for kind=api, 'redirect' for kind=human.
|
|
674
|
+
* @example POST
|
|
675
|
+
*/
|
|
676
|
+
method: string;
|
|
677
|
+
/**
|
|
678
|
+
* Endpoint
|
|
679
|
+
* @description API endpoint path for kind=api actions.
|
|
680
|
+
* @example /v1/account/stripe-key
|
|
681
|
+
*/
|
|
682
|
+
endpoint?: string | null;
|
|
683
|
+
/**
|
|
684
|
+
* Url
|
|
685
|
+
* @description Full URL for kind=human actions (browser redirect).
|
|
686
|
+
* @example https://console.listbee.so/connect/stripe
|
|
687
|
+
*/
|
|
688
|
+
url?: string | null;
|
|
689
|
+
/**
|
|
690
|
+
* Params
|
|
691
|
+
* @description Example request body for kind=api actions.
|
|
692
|
+
* @example {
|
|
693
|
+
* "secret_key": "sk_live_..."
|
|
694
|
+
* }
|
|
695
|
+
*/
|
|
696
|
+
params?: {
|
|
697
|
+
[key: string]: unknown;
|
|
698
|
+
} | null;
|
|
699
|
+
};
|
|
700
|
+
/** ApiKeyListResponse */
|
|
701
|
+
ApiKeyListResponse: {
|
|
702
|
+
/**
|
|
703
|
+
* Object
|
|
704
|
+
* @description Object type identifier.
|
|
705
|
+
* @default list
|
|
706
|
+
* @example list
|
|
707
|
+
* @constant
|
|
708
|
+
*/
|
|
709
|
+
object: "list";
|
|
710
|
+
/**
|
|
711
|
+
* Data
|
|
712
|
+
* @description List of API keys
|
|
713
|
+
*/
|
|
714
|
+
data: components["schemas"]["ApiKeyResponse"][];
|
|
715
|
+
/**
|
|
716
|
+
* Has More
|
|
717
|
+
* @description Always false — API keys are not paginated.
|
|
718
|
+
* @default false
|
|
719
|
+
* @example false
|
|
720
|
+
*/
|
|
721
|
+
has_more: boolean;
|
|
722
|
+
/**
|
|
723
|
+
* Cursor
|
|
724
|
+
* @description Always null — API keys are not paginated.
|
|
725
|
+
* @example null
|
|
726
|
+
*/
|
|
727
|
+
cursor?: string | null;
|
|
728
|
+
};
|
|
729
|
+
/** ApiKeyResponse */
|
|
730
|
+
ApiKeyResponse: {
|
|
731
|
+
/**
|
|
732
|
+
* Object
|
|
733
|
+
* @description Object type identifier.
|
|
734
|
+
* @default api_key
|
|
735
|
+
* @example api_key
|
|
736
|
+
* @constant
|
|
737
|
+
*/
|
|
738
|
+
object: "api_key";
|
|
739
|
+
/**
|
|
740
|
+
* Id
|
|
741
|
+
* @description API key entity ID
|
|
742
|
+
* @example ak_7kQ2xY9mN3pR5tW1vB8a
|
|
743
|
+
*/
|
|
744
|
+
id: string;
|
|
745
|
+
/**
|
|
746
|
+
* Name
|
|
747
|
+
* @description Human-readable label
|
|
748
|
+
* @example n8n production
|
|
749
|
+
*/
|
|
750
|
+
name: string;
|
|
751
|
+
/**
|
|
752
|
+
* Prefix
|
|
753
|
+
* @description First 8 characters of the key value
|
|
754
|
+
* @example lb_abc12
|
|
755
|
+
*/
|
|
756
|
+
prefix: string;
|
|
757
|
+
/**
|
|
758
|
+
* Key
|
|
759
|
+
* @description Full API key value. Use as Bearer token for all authenticated requests.
|
|
760
|
+
* @example lb_abc123def456ghi789
|
|
761
|
+
*/
|
|
762
|
+
key: string;
|
|
763
|
+
/**
|
|
764
|
+
* Created At
|
|
765
|
+
* Format: date-time
|
|
766
|
+
* @description When the key was created
|
|
767
|
+
* @example 2026-04-01T10:00:00Z
|
|
768
|
+
*/
|
|
769
|
+
created_at: string;
|
|
770
|
+
};
|
|
771
|
+
/**
|
|
772
|
+
* BlurMode
|
|
773
|
+
* @enum {string}
|
|
774
|
+
*/
|
|
775
|
+
BlurMode: "true" | "false" | "auto";
|
|
776
|
+
/** Body_upload_file */
|
|
777
|
+
Body_upload_file: {
|
|
778
|
+
/**
|
|
779
|
+
* File
|
|
780
|
+
* @description The file to upload
|
|
781
|
+
*/
|
|
782
|
+
file: string;
|
|
783
|
+
};
|
|
784
|
+
/**
|
|
785
|
+
* CheckoutFieldInput
|
|
786
|
+
* @description A field to collect from the buyer at checkout.
|
|
787
|
+
*/
|
|
788
|
+
CheckoutFieldInput: {
|
|
789
|
+
/**
|
|
790
|
+
* Key
|
|
791
|
+
* @description Unique key for this field
|
|
792
|
+
* @example size
|
|
793
|
+
* @example note
|
|
794
|
+
*/
|
|
795
|
+
key: string;
|
|
796
|
+
/**
|
|
797
|
+
* @description Field type
|
|
798
|
+
* @example text
|
|
799
|
+
*/
|
|
800
|
+
type: components["schemas"]["CheckoutFieldType"];
|
|
801
|
+
/**
|
|
802
|
+
* Label
|
|
803
|
+
* @description Label shown to buyer
|
|
804
|
+
* @example Shoe size
|
|
805
|
+
*/
|
|
806
|
+
label: string;
|
|
807
|
+
/**
|
|
808
|
+
* Required
|
|
809
|
+
* @description Whether this field is required
|
|
810
|
+
* @default true
|
|
811
|
+
* @example true
|
|
812
|
+
*/
|
|
813
|
+
required: boolean;
|
|
814
|
+
/**
|
|
815
|
+
* Options
|
|
816
|
+
* @description Options for select fields
|
|
817
|
+
* @example [
|
|
818
|
+
* "S",
|
|
819
|
+
* "M",
|
|
820
|
+
* "L"
|
|
821
|
+
* ]
|
|
822
|
+
*/
|
|
823
|
+
options?: string[] | null;
|
|
824
|
+
};
|
|
825
|
+
/**
|
|
826
|
+
* CheckoutFieldType
|
|
827
|
+
* @description Types of fields that can be collected at checkout.
|
|
828
|
+
* @enum {string}
|
|
829
|
+
*/
|
|
830
|
+
CheckoutFieldType: "address" | "text" | "select" | "date";
|
|
831
|
+
/** CreateAccountRequest */
|
|
832
|
+
CreateAccountRequest: {
|
|
833
|
+
/**
|
|
834
|
+
* Email
|
|
835
|
+
* Format: email
|
|
836
|
+
* @description Account email. OTP will be sent here. Agent tip: use AgentMail or similar for autonomous OTP handling.
|
|
837
|
+
* @example seller@example.com
|
|
838
|
+
*/
|
|
839
|
+
email: string;
|
|
840
|
+
};
|
|
841
|
+
/** CreateAccountResponse */
|
|
842
|
+
CreateAccountResponse: {
|
|
843
|
+
/**
|
|
844
|
+
* Object
|
|
845
|
+
* @description Object type.
|
|
846
|
+
* @default account_session
|
|
847
|
+
* @example account_session
|
|
848
|
+
* @constant
|
|
849
|
+
*/
|
|
850
|
+
object: "account_session";
|
|
851
|
+
/**
|
|
852
|
+
* Email
|
|
853
|
+
* @description Email the OTP was sent to.
|
|
854
|
+
* @example seller@example.com
|
|
855
|
+
*/
|
|
856
|
+
email: string;
|
|
857
|
+
/**
|
|
858
|
+
* Status
|
|
859
|
+
* @description Always otp_sent on success.
|
|
860
|
+
* @default otp_sent
|
|
861
|
+
* @example otp_sent
|
|
862
|
+
* @constant
|
|
863
|
+
*/
|
|
864
|
+
status: "otp_sent";
|
|
865
|
+
/**
|
|
866
|
+
* Message
|
|
867
|
+
* @description Human-readable instruction.
|
|
868
|
+
* @default Check your email for a 6-digit verification code.
|
|
869
|
+
* @example Check your email for a 6-digit verification code.
|
|
870
|
+
*/
|
|
871
|
+
message: string;
|
|
872
|
+
};
|
|
873
|
+
/** CreateApiKeyRequest */
|
|
874
|
+
CreateApiKeyRequest: {
|
|
875
|
+
/**
|
|
876
|
+
* Name
|
|
877
|
+
* @description Human-readable label for this API key.
|
|
878
|
+
* @example n8n production
|
|
879
|
+
* @example claude-code
|
|
880
|
+
*/
|
|
881
|
+
name: string;
|
|
882
|
+
};
|
|
883
|
+
/**
|
|
884
|
+
* CreateListingRequest
|
|
885
|
+
* @description All optional display fields (name, description, tagline, highlights, cta, badges, cover, reviews, faqs) appear on the product page buyers see.
|
|
886
|
+
*/
|
|
887
|
+
CreateListingRequest: {
|
|
888
|
+
/**
|
|
889
|
+
* Checkout Schema
|
|
890
|
+
* @description Custom fields to collect from the buyer at checkout (e.g. size, color, shipping address). Email is always collected.
|
|
891
|
+
* @example [
|
|
892
|
+
* {
|
|
893
|
+
* "key": "size",
|
|
894
|
+
* "label": "Size",
|
|
895
|
+
* "options": [
|
|
896
|
+
* "S",
|
|
897
|
+
* "M",
|
|
898
|
+
* "L"
|
|
899
|
+
* ],
|
|
900
|
+
* "type": "select"
|
|
901
|
+
* }
|
|
902
|
+
* ]
|
|
903
|
+
*/
|
|
904
|
+
checkout_schema?: components["schemas"]["CheckoutFieldInput"][] | null;
|
|
905
|
+
/**
|
|
906
|
+
* Name
|
|
907
|
+
* @description Product name shown on the product page
|
|
908
|
+
* @example SEO Playbook 2026
|
|
909
|
+
* @example Premium Stock Picks
|
|
910
|
+
*/
|
|
911
|
+
name: string;
|
|
912
|
+
/**
|
|
913
|
+
* Price
|
|
914
|
+
* @description Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999.
|
|
915
|
+
* @example 500
|
|
916
|
+
* @example 2900
|
|
917
|
+
* @example 9999
|
|
918
|
+
*/
|
|
919
|
+
price: number;
|
|
920
|
+
/**
|
|
921
|
+
* Stock
|
|
922
|
+
* @description Stock quantity. null = unlimited (default), 0 = out of stock, positive integer = sell N then stop. Auto-decrements on each order.
|
|
923
|
+
* @example null
|
|
924
|
+
* @example 100
|
|
925
|
+
* @example 0
|
|
926
|
+
*/
|
|
927
|
+
stock?: number | null;
|
|
928
|
+
/**
|
|
929
|
+
* Description
|
|
930
|
+
* @description Product description shown on the product page. Improves buyer conversion. Plain text, max 5000 chars.
|
|
931
|
+
* @example A comprehensive guide to modern SEO techniques.
|
|
932
|
+
*/
|
|
933
|
+
description?: string | null;
|
|
934
|
+
/**
|
|
935
|
+
* Tagline
|
|
936
|
+
* @description Short tagline shown below the product name on the product page. Max 140 chars.
|
|
937
|
+
* @example Updated for 2026 algorithm changes
|
|
938
|
+
*/
|
|
939
|
+
tagline?: string | null;
|
|
940
|
+
/**
|
|
941
|
+
* Highlights
|
|
942
|
+
* @description Bullet-point features shown as badges on the product page. Max 10 items. Each should be short (2-4 words).
|
|
943
|
+
* @example [
|
|
944
|
+
* "50+ pages",
|
|
945
|
+
* "Actionable tips",
|
|
946
|
+
* "Free updates"
|
|
947
|
+
* ]
|
|
948
|
+
*/
|
|
949
|
+
highlights?: string[] | null;
|
|
950
|
+
/**
|
|
951
|
+
* Cta
|
|
952
|
+
* @description Buy button text on the product page. Defaults to 'Buy Now' if omitted. Max 60 chars.
|
|
953
|
+
* @example Get Instant Access
|
|
954
|
+
* @example Download Now
|
|
955
|
+
*/
|
|
956
|
+
cta?: string | null;
|
|
957
|
+
/**
|
|
958
|
+
* Cover
|
|
959
|
+
* @description Cover image file token from POST /v1/files. Shown prominently on the product page. Recommended: 1200x630px.
|
|
960
|
+
* @example file_tok_abc123
|
|
961
|
+
*/
|
|
962
|
+
cover?: string | null;
|
|
963
|
+
/**
|
|
964
|
+
* Metadata
|
|
965
|
+
* @description Arbitrary key-value pairs forwarded in webhook event payloads. Use for your own tracking (campaign IDs, source tags).
|
|
966
|
+
* @example {
|
|
967
|
+
* "campaign": "launch-week",
|
|
968
|
+
* "source": "n8n"
|
|
969
|
+
* }
|
|
970
|
+
*/
|
|
971
|
+
metadata?: {
|
|
972
|
+
[key: string]: unknown;
|
|
973
|
+
} | null;
|
|
974
|
+
/**
|
|
975
|
+
* Utm Source
|
|
976
|
+
* @description UTM source tag for Google Analytics. Defaults to 'listbee' if omitted
|
|
977
|
+
* @example google
|
|
978
|
+
* @example newsletter
|
|
979
|
+
* @example twitter
|
|
980
|
+
*/
|
|
981
|
+
utm_source?: string | null;
|
|
982
|
+
/**
|
|
983
|
+
* Utm Medium
|
|
984
|
+
* @description UTM medium tag for Google Analytics. Defaults to 'product_page' if omitted
|
|
985
|
+
* @example cpc
|
|
986
|
+
* @example email
|
|
987
|
+
* @example social
|
|
988
|
+
*/
|
|
989
|
+
utm_medium?: string | null;
|
|
990
|
+
/**
|
|
991
|
+
* Utm Campaign
|
|
992
|
+
* @description UTM campaign tag for Google Analytics. Defaults to the listing slug if omitted
|
|
993
|
+
* @example spring-sale
|
|
994
|
+
* @example launch-week
|
|
995
|
+
*/
|
|
996
|
+
utm_campaign?: string | null;
|
|
997
|
+
/**
|
|
998
|
+
* Compare At Price
|
|
999
|
+
* @description Strikethrough price in cents (smallest currency unit). Must be greater than price. Examples: $39 = 3900.
|
|
1000
|
+
* @example 3900
|
|
1001
|
+
* @example 4900
|
|
1002
|
+
*/
|
|
1003
|
+
compare_at_price?: number | null;
|
|
1004
|
+
/**
|
|
1005
|
+
* Badges
|
|
1006
|
+
* @description Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time'). Max 10 items.
|
|
1007
|
+
* @example [
|
|
1008
|
+
* "Limited time",
|
|
1009
|
+
* "Best seller"
|
|
1010
|
+
* ]
|
|
1011
|
+
*/
|
|
1012
|
+
badges?: string[] | null;
|
|
1013
|
+
/**
|
|
1014
|
+
* @description Cover image blur mode. 'true' always blurs, 'false' never blurs, 'auto' blurs when deliverable is an image file.
|
|
1015
|
+
* @default auto
|
|
1016
|
+
* @example auto
|
|
1017
|
+
*/
|
|
1018
|
+
cover_blur: components["schemas"]["BlurMode"];
|
|
1019
|
+
/**
|
|
1020
|
+
* Rating
|
|
1021
|
+
* @description Seller-provided aggregate star rating (1-5). Shown on the product page. Values outside range clamped.
|
|
1022
|
+
* @example 4.8
|
|
1023
|
+
* @example 4.5
|
|
1024
|
+
*/
|
|
1025
|
+
rating?: number | null;
|
|
1026
|
+
/**
|
|
1027
|
+
* Rating Count
|
|
1028
|
+
* @description Seller-provided review or purchase count shown alongside the rating on the product page.
|
|
1029
|
+
* @example 1243
|
|
1030
|
+
* @example 89
|
|
1031
|
+
*/
|
|
1032
|
+
rating_count?: number | null;
|
|
1033
|
+
/**
|
|
1034
|
+
* Reviews
|
|
1035
|
+
* @description Featured review cards shown on the product page. Seller-provided, not buyer-submitted. Max 10.
|
|
1036
|
+
* @example [
|
|
1037
|
+
* {
|
|
1038
|
+
* "content": "Best decision I've made for my health.",
|
|
1039
|
+
* "name": "Clara D.",
|
|
1040
|
+
* "rating": 4.5
|
|
1041
|
+
* }
|
|
1042
|
+
* ]
|
|
1043
|
+
*/
|
|
1044
|
+
reviews?: components["schemas"]["ReviewInput"][] | null;
|
|
1045
|
+
/**
|
|
1046
|
+
* Faqs
|
|
1047
|
+
* @description FAQ accordion shown on the product page. Answers common buyer questions. Max 10 items.
|
|
1048
|
+
* @example [
|
|
1049
|
+
* {
|
|
1050
|
+
* "a": "Yes, completely beginner-friendly.",
|
|
1051
|
+
* "q": "Is this for beginners?"
|
|
1052
|
+
* }
|
|
1053
|
+
* ]
|
|
1054
|
+
*/
|
|
1055
|
+
faqs?: components["schemas"]["FaqItemInput"][] | null;
|
|
1056
|
+
};
|
|
1057
|
+
/** CreateWebhookRequest */
|
|
1058
|
+
CreateWebhookRequest: {
|
|
1059
|
+
/**
|
|
1060
|
+
* Name
|
|
1061
|
+
* @description A name to help you identify this endpoint in the dashboard
|
|
1062
|
+
* @example Order notifications
|
|
1063
|
+
*/
|
|
1064
|
+
name: string;
|
|
1065
|
+
/**
|
|
1066
|
+
* Url
|
|
1067
|
+
* Format: uri
|
|
1068
|
+
* @description The HTTPS URL that will receive POST requests for each event
|
|
1069
|
+
* @example https://example.com/webhooks/listbee
|
|
1070
|
+
*/
|
|
1071
|
+
url: string;
|
|
1072
|
+
/**
|
|
1073
|
+
* Events
|
|
1074
|
+
* @description Event types to subscribe to. Empty = all events. Available: order.paid, order.fulfilled, order.shipped, order.refunded, order.disputed, order.dispute_closed, order.canceled, listing.created, listing.updated, listing.out_of_stock, listing.deleted.
|
|
1075
|
+
* @example [
|
|
1076
|
+
* "order.paid"
|
|
1077
|
+
* ]
|
|
1078
|
+
*/
|
|
1079
|
+
events?: components["schemas"]["WebhookEventType"][];
|
|
1080
|
+
};
|
|
1081
|
+
/** CustomerListResponse */
|
|
1082
|
+
CustomerListResponse: {
|
|
1083
|
+
/**
|
|
1084
|
+
* Object
|
|
1085
|
+
* @description Object type identifier.
|
|
1086
|
+
* @default list
|
|
1087
|
+
* @example list
|
|
1088
|
+
* @constant
|
|
1089
|
+
*/
|
|
1090
|
+
object: "list";
|
|
1091
|
+
/**
|
|
1092
|
+
* Data
|
|
1093
|
+
* @description Array of customer objects.
|
|
1094
|
+
*/
|
|
1095
|
+
data: components["schemas"]["CustomerResponse"][];
|
|
1096
|
+
/**
|
|
1097
|
+
* Cursor
|
|
1098
|
+
* @description Cursor for next page.
|
|
1099
|
+
*/
|
|
1100
|
+
cursor?: string | null;
|
|
1101
|
+
/**
|
|
1102
|
+
* Has More
|
|
1103
|
+
* @description Whether more results exist.
|
|
1104
|
+
* @example false
|
|
1105
|
+
*/
|
|
1106
|
+
has_more: boolean;
|
|
1107
|
+
};
|
|
1108
|
+
/** CustomerResponse */
|
|
1109
|
+
CustomerResponse: {
|
|
1110
|
+
/**
|
|
1111
|
+
* Object
|
|
1112
|
+
* @description Object type identifier. Always `customer`.
|
|
1113
|
+
* @default customer
|
|
1114
|
+
* @example customer
|
|
1115
|
+
* @constant
|
|
1116
|
+
*/
|
|
1117
|
+
object: "customer";
|
|
1118
|
+
/**
|
|
1119
|
+
* Id
|
|
1120
|
+
* @description Unique identifier.
|
|
1121
|
+
* @example cus_7kQ2xY9mN3pR5tW1vB8a01
|
|
1122
|
+
*/
|
|
1123
|
+
id: string;
|
|
1124
|
+
/**
|
|
1125
|
+
* Email
|
|
1126
|
+
* @description Buyer email address.
|
|
1127
|
+
* @example alice@example.com
|
|
1128
|
+
*/
|
|
1129
|
+
email: string;
|
|
1130
|
+
/**
|
|
1131
|
+
* Total Orders
|
|
1132
|
+
* @description Total number of completed orders from this buyer.
|
|
1133
|
+
* @example 3
|
|
1134
|
+
*/
|
|
1135
|
+
total_orders: number;
|
|
1136
|
+
/**
|
|
1137
|
+
* Total Spent
|
|
1138
|
+
* @description Total amount spent in cents (smallest currency unit).
|
|
1139
|
+
* @example 8700
|
|
1140
|
+
*/
|
|
1141
|
+
total_spent: number;
|
|
1142
|
+
/**
|
|
1143
|
+
* Currency
|
|
1144
|
+
* @description Currency code.
|
|
1145
|
+
* @example usd
|
|
1146
|
+
*/
|
|
1147
|
+
currency: string;
|
|
1148
|
+
/**
|
|
1149
|
+
* First Order At
|
|
1150
|
+
* @description When this buyer first purchased.
|
|
1151
|
+
* @example 2026-03-15T10:00:00Z
|
|
1152
|
+
*/
|
|
1153
|
+
first_order_at?: string | null;
|
|
1154
|
+
/**
|
|
1155
|
+
* Last Order At
|
|
1156
|
+
* @description When this buyer most recently purchased.
|
|
1157
|
+
* @example 2026-04-01T14:30:00Z
|
|
1158
|
+
*/
|
|
1159
|
+
last_order_at?: string | null;
|
|
1160
|
+
/**
|
|
1161
|
+
* Created At
|
|
1162
|
+
* Format: date-time
|
|
1163
|
+
* @description When this customer record was created.
|
|
1164
|
+
* @example 2026-03-15T10:00:00Z
|
|
1165
|
+
*/
|
|
1166
|
+
created_at: string;
|
|
1167
|
+
};
|
|
1168
|
+
/**
|
|
1169
|
+
* DeliverOrderRequest
|
|
1170
|
+
* @description Push deliverables for a specific order. Marks order as fulfilled.
|
|
1171
|
+
*/
|
|
1172
|
+
DeliverOrderRequest: {
|
|
1173
|
+
/**
|
|
1174
|
+
* Deliverables
|
|
1175
|
+
* @description Array of deliverables to attach. Max 3. Mixed types allowed.
|
|
1176
|
+
* @example [
|
|
1177
|
+
* {
|
|
1178
|
+
* "token": "file_7kQ2xY9mN3pR5tW1vB8a01",
|
|
1179
|
+
* "type": "file"
|
|
1180
|
+
* },
|
|
1181
|
+
* {
|
|
1182
|
+
* "type": "url",
|
|
1183
|
+
* "value": "https://example.com/bonus"
|
|
1184
|
+
* }
|
|
1185
|
+
* ]
|
|
1186
|
+
*/
|
|
1187
|
+
deliverables: components["schemas"]["DeliverableInputRequest"][];
|
|
1188
|
+
};
|
|
1189
|
+
/**
|
|
1190
|
+
* DeliverableInputRequest
|
|
1191
|
+
* @description Typed deliverable input. Shared by PUT /deliverables and POST /deliver.
|
|
1192
|
+
*/
|
|
1193
|
+
DeliverableInputRequest: {
|
|
1194
|
+
/**
|
|
1195
|
+
* @description Deliverable type: `file` (uploaded via POST /v1/files), `url` (redirect), or `text` (literal string).
|
|
1196
|
+
* @example file
|
|
1197
|
+
*/
|
|
1198
|
+
type: components["schemas"]["DeliverableType"];
|
|
1199
|
+
/**
|
|
1200
|
+
* Token
|
|
1201
|
+
* @description File token from POST /v1/files. Required when type is `file`.
|
|
1202
|
+
* @example file_7kQ2xY9mN3pR5tW1vB8a01
|
|
1203
|
+
*/
|
|
1204
|
+
token?: string | null;
|
|
1205
|
+
/**
|
|
1206
|
+
* Value
|
|
1207
|
+
* @description URL (https required) or text content. Required when type is `url` or `text`.
|
|
1208
|
+
* @example https://example.com/secret-area
|
|
1209
|
+
*/
|
|
1210
|
+
value?: string | null;
|
|
1211
|
+
};
|
|
1212
|
+
/** DeliverableResponse */
|
|
1213
|
+
DeliverableResponse: {
|
|
1214
|
+
/**
|
|
1215
|
+
* Object
|
|
1216
|
+
* @description Object type identifier.
|
|
1217
|
+
* @default deliverable
|
|
1218
|
+
* @example deliverable
|
|
1219
|
+
* @constant
|
|
1220
|
+
*/
|
|
1221
|
+
object: "deliverable";
|
|
1222
|
+
/**
|
|
1223
|
+
* @description Deliverable type.
|
|
1224
|
+
* @example file
|
|
1225
|
+
*/
|
|
1226
|
+
type: components["schemas"]["DeliverableType"];
|
|
1227
|
+
/**
|
|
1228
|
+
* @description Processing status.
|
|
1229
|
+
* @example ready
|
|
1230
|
+
*/
|
|
1231
|
+
status: components["schemas"]["DeliverableStatus"];
|
|
1232
|
+
/**
|
|
1233
|
+
* Filename
|
|
1234
|
+
* @description Original filename (file type only).
|
|
1235
|
+
* @example ebook.pdf
|
|
1236
|
+
*/
|
|
1237
|
+
filename?: string | null;
|
|
1238
|
+
/**
|
|
1239
|
+
* Size
|
|
1240
|
+
* @description File size in bytes (file type only).
|
|
1241
|
+
* @example 2458631
|
|
1242
|
+
*/
|
|
1243
|
+
size?: number | null;
|
|
1244
|
+
/**
|
|
1245
|
+
* Mime Type
|
|
1246
|
+
* @description MIME type (file type only).
|
|
1247
|
+
* @example application/pdf
|
|
1248
|
+
*/
|
|
1249
|
+
mime_type?: string | null;
|
|
1250
|
+
/**
|
|
1251
|
+
* Url
|
|
1252
|
+
* @description Redirect URL (url type only).
|
|
1253
|
+
* @example https://example.com/secret
|
|
1254
|
+
*/
|
|
1255
|
+
url?: string | null;
|
|
1256
|
+
/**
|
|
1257
|
+
* Content
|
|
1258
|
+
* @description Text content (text type only).
|
|
1259
|
+
* @example Buy signal: AAPL
|
|
1260
|
+
*/
|
|
1261
|
+
content?: string | null;
|
|
1262
|
+
};
|
|
1263
|
+
/**
|
|
1264
|
+
* DeliverableStatus
|
|
1265
|
+
* @enum {string}
|
|
1266
|
+
*/
|
|
1267
|
+
DeliverableStatus: "processing" | "ready" | "failed";
|
|
1268
|
+
/**
|
|
1269
|
+
* DeliverableType
|
|
1270
|
+
* @enum {string}
|
|
1271
|
+
*/
|
|
1272
|
+
DeliverableType: "file" | "url" | "text";
|
|
1273
|
+
/** FaqItemInput */
|
|
1274
|
+
FaqItemInput: {
|
|
1275
|
+
/**
|
|
1276
|
+
* Q
|
|
1277
|
+
* @description Question text
|
|
1278
|
+
* @example Is this for beginners?
|
|
1279
|
+
*/
|
|
1280
|
+
q: string;
|
|
1281
|
+
/**
|
|
1282
|
+
* A
|
|
1283
|
+
* @description Answer text
|
|
1284
|
+
* @example Yes, completely beginner-friendly.
|
|
1285
|
+
*/
|
|
1286
|
+
a: string;
|
|
1287
|
+
};
|
|
1288
|
+
/** FileResponse */
|
|
1289
|
+
FileResponse: {
|
|
1290
|
+
/**
|
|
1291
|
+
* Object
|
|
1292
|
+
* @description Object type identifier. Always `file`.
|
|
1293
|
+
* @default file
|
|
1294
|
+
* @example file
|
|
1295
|
+
* @constant
|
|
1296
|
+
*/
|
|
1297
|
+
object: "file";
|
|
1298
|
+
/**
|
|
1299
|
+
* Id
|
|
1300
|
+
* @description File token. Pass as 'token' to set_deliverables, or as 'cover'/'avatar' to create/update listing/account.
|
|
1301
|
+
* @example file_7kQ2xY9mN3pR5tW1vB8a01
|
|
1302
|
+
*/
|
|
1303
|
+
id: string;
|
|
1304
|
+
/**
|
|
1305
|
+
* Filename
|
|
1306
|
+
* @description Original filename
|
|
1307
|
+
* @example ebook.pdf
|
|
1308
|
+
*/
|
|
1309
|
+
filename: string;
|
|
1310
|
+
/**
|
|
1311
|
+
* Size
|
|
1312
|
+
* @description File size in bytes
|
|
1313
|
+
* @example 2458631
|
|
1314
|
+
*/
|
|
1315
|
+
size: number;
|
|
1316
|
+
/**
|
|
1317
|
+
* Mime Type
|
|
1318
|
+
* @description MIME type
|
|
1319
|
+
* @example application/pdf
|
|
1320
|
+
*/
|
|
1321
|
+
mime_type: string;
|
|
1322
|
+
/**
|
|
1323
|
+
* Purpose
|
|
1324
|
+
* @description File purpose: 'deliverable' (listing content), 'cover' (listing cover image), or 'avatar' (account avatar).
|
|
1325
|
+
* @example deliverable
|
|
1326
|
+
*/
|
|
1327
|
+
purpose: string;
|
|
1328
|
+
/**
|
|
1329
|
+
* Expires At
|
|
1330
|
+
* Format: date-time
|
|
1331
|
+
* @description Token expires at this time. Upload a new file after expiry.
|
|
1332
|
+
* @example 2026-04-03T15:00:00Z
|
|
1333
|
+
*/
|
|
1334
|
+
expires_at: string;
|
|
1335
|
+
/**
|
|
1336
|
+
* Created At
|
|
1337
|
+
* Format: date-time
|
|
1338
|
+
* @description Time at which the file was uploaded
|
|
1339
|
+
* @example 2026-04-03T14:00:00Z
|
|
1340
|
+
*/
|
|
1341
|
+
created_at: string;
|
|
1342
|
+
};
|
|
1343
|
+
/**
|
|
1344
|
+
* FulfillmentMode
|
|
1345
|
+
* @enum {string}
|
|
1346
|
+
*/
|
|
1347
|
+
FulfillmentMode: "managed" | "external";
|
|
1348
|
+
/** HTTPValidationError */
|
|
1349
|
+
HTTPValidationError: {
|
|
1350
|
+
/** Detail */
|
|
1351
|
+
detail?: components["schemas"]["ValidationError"][];
|
|
1352
|
+
};
|
|
1353
|
+
/** ListingListResponse */
|
|
1354
|
+
ListingListResponse: {
|
|
1355
|
+
/**
|
|
1356
|
+
* Object
|
|
1357
|
+
* @description Object type identifier. Always `list`.
|
|
1358
|
+
* @default list
|
|
1359
|
+
* @example list
|
|
1360
|
+
* @constant
|
|
1361
|
+
*/
|
|
1362
|
+
object: "list";
|
|
1363
|
+
/**
|
|
1364
|
+
* Data
|
|
1365
|
+
* @description Array of listing objects.
|
|
1366
|
+
*/
|
|
1367
|
+
data: components["schemas"]["ListingResponse"][];
|
|
1368
|
+
/**
|
|
1369
|
+
* Total Count
|
|
1370
|
+
* @description Total number of matching resources across all pages
|
|
1371
|
+
* @default 0
|
|
1372
|
+
* @example 47
|
|
1373
|
+
*/
|
|
1374
|
+
total_count: number;
|
|
1375
|
+
/**
|
|
1376
|
+
* Cursor
|
|
1377
|
+
* @description Pass as `cursor` query param to fetch the next page
|
|
1378
|
+
* @example lst_7kQ2xY9mN3pR5tW1vB8a
|
|
1379
|
+
*/
|
|
1380
|
+
cursor?: string | null;
|
|
1381
|
+
/**
|
|
1382
|
+
* Has More
|
|
1383
|
+
* @description True if more results exist beyond this page
|
|
1384
|
+
* @default false
|
|
1385
|
+
* @example false
|
|
1386
|
+
*/
|
|
1387
|
+
has_more: boolean;
|
|
1388
|
+
};
|
|
1389
|
+
/** ListingReadiness */
|
|
1390
|
+
ListingReadiness: {
|
|
1391
|
+
/**
|
|
1392
|
+
* Sellable
|
|
1393
|
+
* @description True when buyers can purchase. False means actions are needed.
|
|
1394
|
+
* @example true
|
|
1395
|
+
*/
|
|
1396
|
+
sellable: boolean;
|
|
1397
|
+
/**
|
|
1398
|
+
* Actions
|
|
1399
|
+
* @description What's needed to make this listing sellable. Empty when sellable is true.
|
|
1400
|
+
*/
|
|
1401
|
+
actions?: components["schemas"]["Action"][];
|
|
1402
|
+
/**
|
|
1403
|
+
* Next
|
|
1404
|
+
* @description Code of the highest-priority action. Agents execute this first.
|
|
1405
|
+
* @example connect_stripe
|
|
1406
|
+
*/
|
|
1407
|
+
next?: string | null;
|
|
1408
|
+
};
|
|
1409
|
+
/** ListingResponse */
|
|
1410
|
+
ListingResponse: {
|
|
1411
|
+
/**
|
|
1412
|
+
* Object
|
|
1413
|
+
* @description Object type identifier. Always `listing`.
|
|
1414
|
+
* @default listing
|
|
1415
|
+
* @example listing
|
|
1416
|
+
* @constant
|
|
1417
|
+
*/
|
|
1418
|
+
object: "listing";
|
|
1419
|
+
/**
|
|
1420
|
+
* Id
|
|
1421
|
+
* @description Unique identifier
|
|
1422
|
+
* @example lst_7kQ2xY9mN3pR5tW1vB8a
|
|
1423
|
+
*/
|
|
1424
|
+
id: string;
|
|
1425
|
+
/**
|
|
1426
|
+
* Slug
|
|
1427
|
+
* @description URL slug for the product page
|
|
1428
|
+
* @example seo-playbook
|
|
1429
|
+
*/
|
|
1430
|
+
slug: string;
|
|
1431
|
+
/**
|
|
1432
|
+
* Name
|
|
1433
|
+
* @description Product name shown on the product page
|
|
1434
|
+
* @example SEO Playbook 2026
|
|
1435
|
+
*/
|
|
1436
|
+
name: string;
|
|
1437
|
+
/**
|
|
1438
|
+
* Description
|
|
1439
|
+
* @description Product description shown on the product page. Plain text.
|
|
1440
|
+
* @example A comprehensive guide to modern SEO.
|
|
1441
|
+
*/
|
|
1442
|
+
description?: string | null;
|
|
1443
|
+
/**
|
|
1444
|
+
* Tagline
|
|
1445
|
+
* @description Short tagline shown below the product name on the product page.
|
|
1446
|
+
* @example Updated for 2026 algorithm changes
|
|
1447
|
+
*/
|
|
1448
|
+
tagline?: string | null;
|
|
1449
|
+
/**
|
|
1450
|
+
* Highlights
|
|
1451
|
+
* @description Bullet-point features shown as badges on the product page.
|
|
1452
|
+
* @example [
|
|
1453
|
+
* "50+ pages",
|
|
1454
|
+
* "Actionable tips"
|
|
1455
|
+
* ]
|
|
1456
|
+
*/
|
|
1457
|
+
highlights: string[];
|
|
1458
|
+
/**
|
|
1459
|
+
* Cta
|
|
1460
|
+
* @description Buy button text on the product page. Defaults to 'Buy Now' if omitted.
|
|
1461
|
+
* @example Get Instant Access
|
|
1462
|
+
*/
|
|
1463
|
+
cta?: string | null;
|
|
1464
|
+
/**
|
|
1465
|
+
* Price
|
|
1466
|
+
* @description Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999.
|
|
1467
|
+
* @example 500
|
|
1468
|
+
* @example 2900
|
|
1469
|
+
* @example 9999
|
|
1470
|
+
*/
|
|
1471
|
+
price: number;
|
|
1472
|
+
/**
|
|
1473
|
+
* Deliverables
|
|
1474
|
+
* @description Array of deliverables attached to this listing. Empty for external fulfillment.
|
|
1475
|
+
*/
|
|
1476
|
+
deliverables?: components["schemas"]["DeliverableResponse"][];
|
|
1477
|
+
/**
|
|
1478
|
+
* Has Deliverables
|
|
1479
|
+
* @description `true` if all deliverables have content and listing uses managed fulfillment
|
|
1480
|
+
* @example true
|
|
1481
|
+
*/
|
|
1482
|
+
has_deliverables: boolean;
|
|
1483
|
+
/**
|
|
1484
|
+
* @description Who delivers after payment. `managed` = ListBee, `external` = seller/app.
|
|
1485
|
+
* @example managed
|
|
1486
|
+
*/
|
|
1487
|
+
fulfillment: components["schemas"]["FulfillmentMode"];
|
|
1488
|
+
/**
|
|
1489
|
+
* Checkout Schema
|
|
1490
|
+
* @description Custom fields collected from the buyer at checkout
|
|
1491
|
+
*/
|
|
1492
|
+
checkout_schema?: components["schemas"]["CheckoutFieldInput"][] | null;
|
|
1493
|
+
/**
|
|
1494
|
+
* Has Cover
|
|
1495
|
+
* @description True if a cover image exists (uploaded or generated)
|
|
1496
|
+
* @example true
|
|
1497
|
+
*/
|
|
1498
|
+
has_cover: boolean;
|
|
1499
|
+
/**
|
|
1500
|
+
* Compare At Price
|
|
1501
|
+
* @description Strikethrough price in smallest currency unit
|
|
1502
|
+
* @example 3900
|
|
1503
|
+
*/
|
|
1504
|
+
compare_at_price?: number | null;
|
|
1505
|
+
/**
|
|
1506
|
+
* Badges
|
|
1507
|
+
* @description Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time').
|
|
1508
|
+
* @example [
|
|
1509
|
+
* "Limited time"
|
|
1510
|
+
* ]
|
|
1511
|
+
*/
|
|
1512
|
+
badges?: string[];
|
|
1513
|
+
/**
|
|
1514
|
+
* @description Cover image blur mode. 'true' always blurs, 'false' never blurs, 'auto' blurs when deliverable is an image file.
|
|
1515
|
+
* @default auto
|
|
1516
|
+
* @example auto
|
|
1517
|
+
*/
|
|
1518
|
+
cover_blur: components["schemas"]["BlurMode"];
|
|
1519
|
+
/**
|
|
1520
|
+
* Rating
|
|
1521
|
+
* @description Seller-provided aggregate star rating (1-5). Shown on the product page.
|
|
1522
|
+
* @example 4.8
|
|
1523
|
+
*/
|
|
1524
|
+
rating?: number | null;
|
|
1525
|
+
/**
|
|
1526
|
+
* Rating Count
|
|
1527
|
+
* @description Seller-provided review or purchase count shown alongside the rating on the product page.
|
|
1528
|
+
* @example 1243
|
|
1529
|
+
*/
|
|
1530
|
+
rating_count?: number | null;
|
|
1531
|
+
/**
|
|
1532
|
+
* Reviews
|
|
1533
|
+
* @description Featured review cards shown on the product page. Seller-provided, not buyer-submitted.
|
|
1534
|
+
* @example []
|
|
1535
|
+
*/
|
|
1536
|
+
reviews?: components["schemas"]["ReviewInput"][];
|
|
1537
|
+
/**
|
|
1538
|
+
* Faqs
|
|
1539
|
+
* @description FAQ accordion shown on the product page. Answers common buyer questions.
|
|
1540
|
+
* @example []
|
|
1541
|
+
*/
|
|
1542
|
+
faqs?: components["schemas"]["FaqItemInput"][];
|
|
1543
|
+
/**
|
|
1544
|
+
* Metadata
|
|
1545
|
+
* @description Arbitrary key-value pairs forwarded in webhook event payloads. Set at creation or update.
|
|
1546
|
+
* @example {
|
|
1547
|
+
* "source": "n8n"
|
|
1548
|
+
* }
|
|
1549
|
+
*/
|
|
1550
|
+
metadata?: {
|
|
1551
|
+
[key: string]: unknown;
|
|
1552
|
+
} | null;
|
|
1553
|
+
/**
|
|
1554
|
+
* Utm Source
|
|
1555
|
+
* @description UTM source tag for Google Analytics
|
|
1556
|
+
* @example google
|
|
1557
|
+
*/
|
|
1558
|
+
utm_source?: string | null;
|
|
1559
|
+
/**
|
|
1560
|
+
* Utm Medium
|
|
1561
|
+
* @description UTM medium tag for Google Analytics
|
|
1562
|
+
* @example cpc
|
|
1563
|
+
*/
|
|
1564
|
+
utm_medium?: string | null;
|
|
1565
|
+
/**
|
|
1566
|
+
* Utm Campaign
|
|
1567
|
+
* @description UTM campaign tag for Google Analytics
|
|
1568
|
+
* @example spring-sale
|
|
1569
|
+
*/
|
|
1570
|
+
utm_campaign?: string | null;
|
|
1571
|
+
/**
|
|
1572
|
+
* @description Current listing status
|
|
1573
|
+
* @example published
|
|
1574
|
+
*/
|
|
1575
|
+
status: components["schemas"]["ListingStatus"];
|
|
1576
|
+
/**
|
|
1577
|
+
* Stock
|
|
1578
|
+
* @description Stock quantity. null = unlimited, 0 = out of stock. Auto-decrements on each order.
|
|
1579
|
+
* @example null
|
|
1580
|
+
* @example 50
|
|
1581
|
+
* @example 0
|
|
1582
|
+
*/
|
|
1583
|
+
stock?: number | null;
|
|
1584
|
+
/**
|
|
1585
|
+
* Url
|
|
1586
|
+
* @description Full product page URL — share this with buyers
|
|
1587
|
+
* @example https://buy.listbee.so/seo-playbook
|
|
1588
|
+
*/
|
|
1589
|
+
url?: string | null;
|
|
1590
|
+
/**
|
|
1591
|
+
* Embed Url
|
|
1592
|
+
* @description Embeddable product page URL — use in iframes. Renders minimal version without header/footer.
|
|
1593
|
+
* @example https://buy.listbee.so/seo-playbook?embed=true
|
|
1594
|
+
*/
|
|
1595
|
+
embed_url?: string | null;
|
|
1596
|
+
/** @description Monetization readiness. `sellable` is true when buyers can complete a purchase. If false, `actions` lists what's needed with kind (api/human), resolve details, and `next` points to the highest-priority action. */
|
|
1597
|
+
readiness: components["schemas"]["ListingReadiness"];
|
|
1598
|
+
/**
|
|
1599
|
+
* Created At
|
|
1600
|
+
* Format: date-time
|
|
1601
|
+
* @description Time at which the listing was created
|
|
1602
|
+
* @example 2026-04-01T12:00:00Z
|
|
1603
|
+
*/
|
|
1604
|
+
created_at: string;
|
|
1605
|
+
};
|
|
1606
|
+
/**
|
|
1607
|
+
* ListingStatus
|
|
1608
|
+
* @enum {string}
|
|
1609
|
+
*/
|
|
1610
|
+
ListingStatus: "draft" | "published";
|
|
1611
|
+
/** OrderListResponse */
|
|
1612
|
+
OrderListResponse: {
|
|
1613
|
+
/**
|
|
1614
|
+
* Object
|
|
1615
|
+
* @description Object type identifier. Always `list`.
|
|
1616
|
+
* @default list
|
|
1617
|
+
* @example list
|
|
1618
|
+
* @constant
|
|
1619
|
+
*/
|
|
1620
|
+
object: "list";
|
|
1621
|
+
/**
|
|
1622
|
+
* Data
|
|
1623
|
+
* @description Array of order objects.
|
|
1624
|
+
*/
|
|
1625
|
+
data: components["schemas"]["OrderResponse"][];
|
|
1626
|
+
/**
|
|
1627
|
+
* Total Count
|
|
1628
|
+
* @description Total number of matching resources across all pages
|
|
1629
|
+
* @default 0
|
|
1630
|
+
* @example 47
|
|
1631
|
+
*/
|
|
1632
|
+
total_count: number;
|
|
1633
|
+
/**
|
|
1634
|
+
* Cursor
|
|
1635
|
+
* @description Pass as `cursor` query param to fetch the next page
|
|
1636
|
+
* @example lst_7kQ2xY9mN3pR5tW1vB8a
|
|
1637
|
+
*/
|
|
1638
|
+
cursor?: string | null;
|
|
1639
|
+
/**
|
|
1640
|
+
* Has More
|
|
1641
|
+
* @description True if more results exist beyond this page
|
|
1642
|
+
* @default false
|
|
1643
|
+
* @example false
|
|
1644
|
+
*/
|
|
1645
|
+
has_more: boolean;
|
|
1646
|
+
};
|
|
1647
|
+
/** OrderResponse */
|
|
1648
|
+
OrderResponse: {
|
|
1649
|
+
/**
|
|
1650
|
+
* Object
|
|
1651
|
+
* @description Object type identifier. Always `order`.
|
|
1652
|
+
* @default order
|
|
1653
|
+
* @example order
|
|
1654
|
+
* @constant
|
|
1655
|
+
*/
|
|
1656
|
+
object: "order";
|
|
1657
|
+
/**
|
|
1658
|
+
* Id
|
|
1659
|
+
* @description Unique identifier
|
|
1660
|
+
* @example ord_9xM4kP7nR2qT5wY1
|
|
1661
|
+
*/
|
|
1662
|
+
id: string;
|
|
1663
|
+
/**
|
|
1664
|
+
* Listing Id
|
|
1665
|
+
* @description ID of the purchased listing
|
|
1666
|
+
* @example lst_7kQ2xY9mN3pR5tW1vB8a
|
|
1667
|
+
*/
|
|
1668
|
+
listing_id: string;
|
|
1669
|
+
/**
|
|
1670
|
+
* Buyer Email
|
|
1671
|
+
* @description Buyer's email address collected at Stripe Checkout. Use for customer communication.
|
|
1672
|
+
* @example buyer@example.com
|
|
1673
|
+
*/
|
|
1674
|
+
buyer_email: string;
|
|
1675
|
+
/**
|
|
1676
|
+
* Amount
|
|
1677
|
+
* @description Amount paid in cents (smallest currency unit). $29.00 = 2900.
|
|
1678
|
+
* @example 2900
|
|
1679
|
+
*/
|
|
1680
|
+
amount: number;
|
|
1681
|
+
/**
|
|
1682
|
+
* Currency
|
|
1683
|
+
* @description Three-letter ISO currency code, uppercase
|
|
1684
|
+
* @example USD
|
|
1685
|
+
*/
|
|
1686
|
+
currency: string;
|
|
1687
|
+
/**
|
|
1688
|
+
* @description Current order status. Lifecycle: PENDING → PAID → FULFILLED. Terminal: CANCELED, FAILED.
|
|
1689
|
+
* @example paid
|
|
1690
|
+
*/
|
|
1691
|
+
status: components["schemas"]["OrderStatus"];
|
|
1692
|
+
/**
|
|
1693
|
+
* Checkout Data
|
|
1694
|
+
* @description Custom checkout field values submitted by the buyer. Keys match the listing's checkout_schema.
|
|
1695
|
+
* @example {
|
|
1696
|
+
* "note": "Gift wrap please",
|
|
1697
|
+
* "size": "M"
|
|
1698
|
+
* }
|
|
1699
|
+
*/
|
|
1700
|
+
checkout_data?: {
|
|
1701
|
+
[key: string]: unknown;
|
|
1702
|
+
} | null;
|
|
1703
|
+
/** @description Shipping address if collected */
|
|
1704
|
+
shipping_address?: components["schemas"]["ShippingAddressResponse"] | null;
|
|
1705
|
+
/**
|
|
1706
|
+
* Deliverables
|
|
1707
|
+
* @description Deliverables attached to this order. Auto-populated for managed fulfillment, or pushed via POST /deliver for external.
|
|
1708
|
+
*/
|
|
1709
|
+
deliverables?: components["schemas"]["DeliverableResponse"][];
|
|
1710
|
+
/**
|
|
1711
|
+
* Carrier
|
|
1712
|
+
* @description Shipping carrier name
|
|
1713
|
+
* @example USPS
|
|
1714
|
+
*/
|
|
1715
|
+
carrier?: string | null;
|
|
1716
|
+
/**
|
|
1717
|
+
* Tracking Code
|
|
1718
|
+
* @description Shipping tracking code
|
|
1719
|
+
* @example 9400111899223
|
|
1720
|
+
*/
|
|
1721
|
+
tracking_code?: string | null;
|
|
1722
|
+
/**
|
|
1723
|
+
* Seller Note
|
|
1724
|
+
* @description Note from seller to buyer
|
|
1725
|
+
* @example Ships within 2 business days
|
|
1726
|
+
*/
|
|
1727
|
+
seller_note?: string | null;
|
|
1728
|
+
/**
|
|
1729
|
+
* Stripe Payment Intent Id
|
|
1730
|
+
* @description Stripe PaymentIntent ID. Use for cross-referencing with Stripe dashboard or API.
|
|
1731
|
+
* @example pi_3abc123def456
|
|
1732
|
+
*/
|
|
1733
|
+
stripe_payment_intent_id: string;
|
|
1734
|
+
/**
|
|
1735
|
+
* Platform Fee
|
|
1736
|
+
* @description Platform fee in cents deducted from this order. Amount seller receives = amount - platform_fee.
|
|
1737
|
+
* @default 0
|
|
1738
|
+
* @example 290
|
|
1739
|
+
*/
|
|
1740
|
+
platform_fee: number;
|
|
1741
|
+
/**
|
|
1742
|
+
* Refund Amount
|
|
1743
|
+
* @description Amount refunded to buyer in cents. 0 if not refunded.
|
|
1744
|
+
* @default 0
|
|
1745
|
+
* @example 0
|
|
1746
|
+
* @example 2900
|
|
1747
|
+
*/
|
|
1748
|
+
refund_amount: number;
|
|
1749
|
+
/**
|
|
1750
|
+
* Refunded At
|
|
1751
|
+
* @description When the refund was processed. null if not refunded.
|
|
1752
|
+
* @example 2026-04-01T15:30:00Z
|
|
1753
|
+
*/
|
|
1754
|
+
refunded_at?: string | null;
|
|
1755
|
+
/**
|
|
1756
|
+
* Dispute Status
|
|
1757
|
+
* @description Stripe dispute status if disputed. Values: needs_response, under_review, won, lost.
|
|
1758
|
+
* @example needs_response
|
|
1759
|
+
*/
|
|
1760
|
+
dispute_status?: string | null;
|
|
1761
|
+
/**
|
|
1762
|
+
* Dispute Reason
|
|
1763
|
+
* @description Reason for the dispute as reported by the buyer's bank.
|
|
1764
|
+
* @example product_not_received
|
|
1765
|
+
* @example fraudulent
|
|
1766
|
+
*/
|
|
1767
|
+
dispute_reason?: string | null;
|
|
1768
|
+
/**
|
|
1769
|
+
* Dispute Amount
|
|
1770
|
+
* @description Disputed amount in cents. 0 if not disputed.
|
|
1771
|
+
* @default 0
|
|
1772
|
+
* @example 0
|
|
1773
|
+
* @example 2900
|
|
1774
|
+
*/
|
|
1775
|
+
dispute_amount: number;
|
|
1776
|
+
/**
|
|
1777
|
+
* Disputed At
|
|
1778
|
+
* @description When the dispute was opened. null if not disputed.
|
|
1779
|
+
* @example 2026-04-02T10:00:00Z
|
|
1780
|
+
*/
|
|
1781
|
+
disputed_at?: string | null;
|
|
1782
|
+
/**
|
|
1783
|
+
* Shipped At
|
|
1784
|
+
* @description When shipping tracking was added
|
|
1785
|
+
* @example 2026-04-02T16:00:00Z
|
|
1786
|
+
*/
|
|
1787
|
+
shipped_at?: string | null;
|
|
1788
|
+
/**
|
|
1789
|
+
* Paid At
|
|
1790
|
+
* @description When payment was confirmed
|
|
1791
|
+
* @example 2026-04-02T14:30:00Z
|
|
1792
|
+
*/
|
|
1793
|
+
paid_at?: string | null;
|
|
1794
|
+
/**
|
|
1795
|
+
* Fulfilled At
|
|
1796
|
+
* @description When order was fulfilled
|
|
1797
|
+
* @example 2026-04-02T15:00:00Z
|
|
1798
|
+
*/
|
|
1799
|
+
fulfilled_at?: string | null;
|
|
1800
|
+
/**
|
|
1801
|
+
* Created At
|
|
1802
|
+
* Format: date-time
|
|
1803
|
+
* @description Time at which the order was created
|
|
1804
|
+
* @example 2026-04-02T14:00:00Z
|
|
1805
|
+
*/
|
|
1806
|
+
created_at: string;
|
|
1807
|
+
};
|
|
1808
|
+
/**
|
|
1809
|
+
* OrderStatus
|
|
1810
|
+
* @enum {string}
|
|
1811
|
+
*/
|
|
1812
|
+
OrderStatus: "pending" | "paid" | "fulfilled" | "canceled" | "failed";
|
|
1813
|
+
/**
|
|
1814
|
+
* ProblemDetail
|
|
1815
|
+
* @description RFC 9457 Problem Details for HTTP APIs.
|
|
1816
|
+
*/
|
|
1817
|
+
ProblemDetail: {
|
|
1818
|
+
/**
|
|
1819
|
+
* Type
|
|
1820
|
+
* @description URI identifying the error type. Points to documentation.
|
|
1821
|
+
* @example https://docs.listbee.so/errors/invalid-request
|
|
1822
|
+
*/
|
|
1823
|
+
type: string;
|
|
1824
|
+
/**
|
|
1825
|
+
* Title
|
|
1826
|
+
* @description Short, stable, human-readable label for the error category.
|
|
1827
|
+
* @example Invalid Request
|
|
1828
|
+
*/
|
|
1829
|
+
title: string;
|
|
1830
|
+
/**
|
|
1831
|
+
* Status
|
|
1832
|
+
* @description HTTP status code echoed in the body.
|
|
1833
|
+
* @example 422
|
|
1834
|
+
*/
|
|
1835
|
+
status: number;
|
|
1836
|
+
/**
|
|
1837
|
+
* Detail
|
|
1838
|
+
* @description Specific explanation of what went wrong.
|
|
1839
|
+
* @example Price must be greater than 0
|
|
1840
|
+
*/
|
|
1841
|
+
detail: string;
|
|
1842
|
+
/**
|
|
1843
|
+
* Code
|
|
1844
|
+
* @description Machine-readable error code for programmatic handling.
|
|
1845
|
+
* @example invalid_price
|
|
1846
|
+
*/
|
|
1847
|
+
code: string;
|
|
1848
|
+
/**
|
|
1849
|
+
* Param
|
|
1850
|
+
* @description The request field that caused the error, if applicable.
|
|
1851
|
+
* @example price
|
|
1852
|
+
*/
|
|
1853
|
+
param?: string | null;
|
|
1854
|
+
};
|
|
1855
|
+
/** ReviewInput */
|
|
1856
|
+
ReviewInput: {
|
|
1857
|
+
/**
|
|
1858
|
+
* Name
|
|
1859
|
+
* @description Reviewer display name
|
|
1860
|
+
* @example Clara D.
|
|
1861
|
+
*/
|
|
1862
|
+
name: string;
|
|
1863
|
+
/**
|
|
1864
|
+
* Rating
|
|
1865
|
+
* @description Star rating (1–5). Values outside this range are clamped automatically
|
|
1866
|
+
* @example 4.5
|
|
1867
|
+
*/
|
|
1868
|
+
rating: number;
|
|
1869
|
+
/**
|
|
1870
|
+
* Content
|
|
1871
|
+
* @description Review body text
|
|
1872
|
+
* @example Excellent quality content.
|
|
1873
|
+
*/
|
|
1874
|
+
content: string;
|
|
1875
|
+
};
|
|
1876
|
+
/**
|
|
1877
|
+
* SetDeliverablesRequest
|
|
1878
|
+
* @description Replace all deliverables on a listing.
|
|
1879
|
+
*/
|
|
1880
|
+
SetDeliverablesRequest: {
|
|
1881
|
+
/**
|
|
1882
|
+
* Deliverables
|
|
1883
|
+
* @description Array of deliverables. Max 3. Mixed types allowed.
|
|
1884
|
+
* @example [
|
|
1885
|
+
* {
|
|
1886
|
+
* "token": "file_7kQ2xY9mN3pR5tW1vB8a01",
|
|
1887
|
+
* "type": "file"
|
|
1888
|
+
* }
|
|
1889
|
+
* ]
|
|
1890
|
+
*/
|
|
1891
|
+
deliverables: components["schemas"]["DeliverableInputRequest"][];
|
|
1892
|
+
};
|
|
1893
|
+
/**
|
|
1894
|
+
* ShipOrderRequest
|
|
1895
|
+
* @description Add shipping tracking to an order.
|
|
1896
|
+
*/
|
|
1897
|
+
ShipOrderRequest: {
|
|
1898
|
+
/**
|
|
1899
|
+
* Carrier
|
|
1900
|
+
* @description Shipping carrier name
|
|
1901
|
+
* @example USPS
|
|
1902
|
+
* @example FedEx
|
|
1903
|
+
* @example DHL
|
|
1904
|
+
*/
|
|
1905
|
+
carrier: string;
|
|
1906
|
+
/**
|
|
1907
|
+
* Tracking Code
|
|
1908
|
+
* @description Tracking number
|
|
1909
|
+
* @example 9400111899223
|
|
1910
|
+
*/
|
|
1911
|
+
tracking_code: string;
|
|
1912
|
+
/**
|
|
1913
|
+
* Seller Note
|
|
1914
|
+
* @description Note to include with tracking notification
|
|
1915
|
+
* @example Enjoy your purchase!
|
|
1916
|
+
*/
|
|
1917
|
+
seller_note?: string | null;
|
|
1918
|
+
};
|
|
1919
|
+
/** ShippingAddressResponse */
|
|
1920
|
+
ShippingAddressResponse: {
|
|
1921
|
+
/**
|
|
1922
|
+
* Name
|
|
1923
|
+
* @description Recipient full name
|
|
1924
|
+
* @example Jane Doe
|
|
1925
|
+
*/
|
|
1926
|
+
name: string;
|
|
1927
|
+
/**
|
|
1928
|
+
* Line1
|
|
1929
|
+
* @description Street address line 1
|
|
1930
|
+
* @example 123 Main St
|
|
1931
|
+
*/
|
|
1932
|
+
line1: string;
|
|
1933
|
+
/**
|
|
1934
|
+
* Line2
|
|
1935
|
+
* @description Street address line 2 (apartment, suite, etc.)
|
|
1936
|
+
* @example Apt 4B
|
|
1937
|
+
*/
|
|
1938
|
+
line2?: string | null;
|
|
1939
|
+
/**
|
|
1940
|
+
* City
|
|
1941
|
+
* @description City or municipality
|
|
1942
|
+
* @example Austin
|
|
1943
|
+
*/
|
|
1944
|
+
city: string;
|
|
1945
|
+
/**
|
|
1946
|
+
* State
|
|
1947
|
+
* @description State, province, or region
|
|
1948
|
+
* @example TX
|
|
1949
|
+
*/
|
|
1950
|
+
state?: string | null;
|
|
1951
|
+
/**
|
|
1952
|
+
* Postal Code
|
|
1953
|
+
* @description Postal or ZIP code
|
|
1954
|
+
* @example 78701
|
|
1955
|
+
*/
|
|
1956
|
+
postal_code: string;
|
|
1957
|
+
/**
|
|
1958
|
+
* Country
|
|
1959
|
+
* @description ISO 3166-1 alpha-2 country code
|
|
1960
|
+
* @example US
|
|
1961
|
+
*/
|
|
1962
|
+
country: string;
|
|
1963
|
+
/**
|
|
1964
|
+
* Phone
|
|
1965
|
+
* @description Phone number in E.164 format
|
|
1966
|
+
* @example +15125551234
|
|
1967
|
+
*/
|
|
1968
|
+
phone?: string | null;
|
|
1969
|
+
};
|
|
1970
|
+
/** StripeConnectSessionResponse */
|
|
1971
|
+
StripeConnectSessionResponse: {
|
|
1972
|
+
/**
|
|
1973
|
+
* Object
|
|
1974
|
+
* @description Object type.
|
|
1975
|
+
* @default stripe_connect_session
|
|
1976
|
+
* @example stripe_connect_session
|
|
1977
|
+
* @constant
|
|
1978
|
+
*/
|
|
1979
|
+
object: "stripe_connect_session";
|
|
1980
|
+
/**
|
|
1981
|
+
* Url
|
|
1982
|
+
* @description Stripe onboarding URL. Redirect the human here.
|
|
1983
|
+
* @example https://connect.stripe.com/setup/...
|
|
1984
|
+
*/
|
|
1985
|
+
url: string;
|
|
1986
|
+
/**
|
|
1987
|
+
* Expires At
|
|
1988
|
+
* Format: date-time
|
|
1989
|
+
* @description When this URL expires.
|
|
1990
|
+
* @example 2026-04-03T16:00:00Z
|
|
1991
|
+
*/
|
|
1992
|
+
expires_at: string;
|
|
1993
|
+
};
|
|
1994
|
+
/**
|
|
1995
|
+
* UpdateAccountRequest
|
|
1996
|
+
* @description Partial update for account settings.
|
|
1997
|
+
*/
|
|
1998
|
+
UpdateAccountRequest: {
|
|
1999
|
+
/**
|
|
2000
|
+
* Display Name
|
|
2001
|
+
* @description Seller name shown on product pages. Improves buyer trust and conversion. If not set, buyers see a generic seller label.
|
|
2002
|
+
* @example Acme Digital
|
|
2003
|
+
* @example Sarah's Templates
|
|
2004
|
+
*/
|
|
2005
|
+
display_name?: string | null;
|
|
2006
|
+
/**
|
|
2007
|
+
* Bio
|
|
2008
|
+
* @description Short seller bio shown on product pages. Plain text. Helps buyers understand who they're buying from.
|
|
2009
|
+
* @example We create premium digital tools for modern marketers.
|
|
2010
|
+
*/
|
|
2011
|
+
bio?: string | null;
|
|
2012
|
+
/**
|
|
2013
|
+
* Avatar
|
|
2014
|
+
* @description Avatar image file token from POST /v1/files. Replaces any existing avatar. Shown on product pages next to seller name.
|
|
2015
|
+
* @example file_tok_abc123
|
|
2016
|
+
*/
|
|
2017
|
+
avatar?: string | null;
|
|
2018
|
+
/**
|
|
2019
|
+
* Ga Measurement Id
|
|
2020
|
+
* @description Google Analytics 4 Measurement ID (G-XXXXXXXXXX). Set to null to remove
|
|
2021
|
+
* @example G-ABC123XYZ
|
|
2022
|
+
*/
|
|
2023
|
+
ga_measurement_id?: string | null;
|
|
2024
|
+
};
|
|
2025
|
+
/**
|
|
2026
|
+
* UpdateListingRequest
|
|
2027
|
+
* @description Partial update — only provided fields are changed.
|
|
2028
|
+
*/
|
|
2029
|
+
UpdateListingRequest: {
|
|
2030
|
+
/**
|
|
2031
|
+
* Name
|
|
2032
|
+
* @description Product name
|
|
2033
|
+
* @example SEO Playbook 2026
|
|
2034
|
+
*/
|
|
2035
|
+
name?: string | null;
|
|
2036
|
+
/**
|
|
2037
|
+
* Slug
|
|
2038
|
+
* @description URL slug for the product page (e.g. 'seo-playbook'). Only changeable in draft. Auto-slugified. On conflict, random suffix appended.
|
|
2039
|
+
* @example seo-playbook-2026
|
|
2040
|
+
*/
|
|
2041
|
+
slug?: string | null;
|
|
2042
|
+
/**
|
|
2043
|
+
* Price
|
|
2044
|
+
* @description Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999.
|
|
2045
|
+
* @example 500
|
|
2046
|
+
* @example 2900
|
|
2047
|
+
* @example 9999
|
|
2048
|
+
*/
|
|
2049
|
+
price?: number | null;
|
|
2050
|
+
/**
|
|
2051
|
+
* Stock
|
|
2052
|
+
* @description Stock quantity. null = unlimited, 0 = out of stock, positive integer = sell N then stop.
|
|
2053
|
+
* @example 100
|
|
2054
|
+
* @example 0
|
|
2055
|
+
*/
|
|
2056
|
+
stock?: number | null;
|
|
2057
|
+
/**
|
|
2058
|
+
* Checkout Schema
|
|
2059
|
+
* @description Custom fields to collect from the buyer at checkout. Replaces existing schema.
|
|
2060
|
+
* @example [
|
|
2061
|
+
* {
|
|
2062
|
+
* "key": "size",
|
|
2063
|
+
* "label": "Size",
|
|
2064
|
+
* "options": [
|
|
2065
|
+
* "S",
|
|
2066
|
+
* "M",
|
|
2067
|
+
* "L"
|
|
2068
|
+
* ],
|
|
2069
|
+
* "type": "select"
|
|
2070
|
+
* }
|
|
2071
|
+
* ]
|
|
2072
|
+
*/
|
|
2073
|
+
checkout_schema?: components["schemas"]["CheckoutFieldInput"][] | null;
|
|
2074
|
+
/**
|
|
2075
|
+
* Description
|
|
2076
|
+
* @description Product description shown on the product page. Improves buyer conversion. Plain text, max 5000 chars.
|
|
2077
|
+
* @example A comprehensive guide to modern SEO.
|
|
2078
|
+
*/
|
|
2079
|
+
description?: string | null;
|
|
2080
|
+
/**
|
|
2081
|
+
* Tagline
|
|
2082
|
+
* @description Short tagline shown below the product name on the product page. Max 140 chars.
|
|
2083
|
+
* @example Updated for 2026
|
|
2084
|
+
*/
|
|
2085
|
+
tagline?: string | null;
|
|
2086
|
+
/**
|
|
2087
|
+
* Highlights
|
|
2088
|
+
* @description Bullet-point features shown as badges on the product page. Max 10 items. Each should be short (2-4 words).
|
|
2089
|
+
* @example [
|
|
2090
|
+
* "50+ pages",
|
|
2091
|
+
* "Free updates"
|
|
2092
|
+
* ]
|
|
2093
|
+
*/
|
|
2094
|
+
highlights?: string[] | null;
|
|
2095
|
+
/**
|
|
2096
|
+
* Cta
|
|
2097
|
+
* @description Buy button text on the product page. Defaults to 'Buy Now' if omitted. Max 60 chars.
|
|
2098
|
+
* @example Get Instant Access
|
|
2099
|
+
*/
|
|
2100
|
+
cta?: string | null;
|
|
2101
|
+
/**
|
|
2102
|
+
* Cover
|
|
2103
|
+
* @description Cover image file token from POST /v1/files. Shown prominently on the product page. Recommended: 1200x630px.
|
|
2104
|
+
* @example file_tok_abc123
|
|
2105
|
+
*/
|
|
2106
|
+
cover?: string | null;
|
|
2107
|
+
/**
|
|
2108
|
+
* Metadata
|
|
2109
|
+
* @description Arbitrary key-value pairs forwarded in webhook event payloads. Use for your own tracking (campaign IDs, source tags).
|
|
2110
|
+
* @example {
|
|
2111
|
+
* "source": "n8n"
|
|
2112
|
+
* }
|
|
2113
|
+
*/
|
|
2114
|
+
metadata?: {
|
|
2115
|
+
[key: string]: unknown;
|
|
2116
|
+
} | null;
|
|
2117
|
+
/**
|
|
2118
|
+
* Utm Source
|
|
2119
|
+
* @description UTM source tag for Google Analytics
|
|
2120
|
+
* @example google
|
|
2121
|
+
*/
|
|
2122
|
+
utm_source?: string | null;
|
|
2123
|
+
/**
|
|
2124
|
+
* Utm Medium
|
|
2125
|
+
* @description UTM medium tag for Google Analytics
|
|
2126
|
+
* @example cpc
|
|
2127
|
+
*/
|
|
2128
|
+
utm_medium?: string | null;
|
|
2129
|
+
/**
|
|
2130
|
+
* Utm Campaign
|
|
2131
|
+
* @description UTM campaign tag for Google Analytics
|
|
2132
|
+
* @example spring-sale
|
|
2133
|
+
*/
|
|
2134
|
+
utm_campaign?: string | null;
|
|
2135
|
+
/**
|
|
2136
|
+
* Compare At Price
|
|
2137
|
+
* @description Strikethrough price in cents (smallest currency unit). Must be greater than price. Examples: $39 = 3900.
|
|
2138
|
+
* @example 3900
|
|
2139
|
+
* @example 4900
|
|
2140
|
+
*/
|
|
2141
|
+
compare_at_price?: number | null;
|
|
2142
|
+
/**
|
|
2143
|
+
* Badges
|
|
2144
|
+
* @description Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time'). Max 10 items.
|
|
2145
|
+
* @example [
|
|
2146
|
+
* "Best seller"
|
|
2147
|
+
* ]
|
|
2148
|
+
*/
|
|
2149
|
+
badges?: string[] | null;
|
|
2150
|
+
/**
|
|
2151
|
+
* @description Cover image blur mode. 'true' always blurs, 'false' never blurs, 'auto' blurs when deliverable is an image file.
|
|
2152
|
+
* @example auto
|
|
2153
|
+
*/
|
|
2154
|
+
cover_blur?: components["schemas"]["BlurMode"] | null;
|
|
2155
|
+
/**
|
|
2156
|
+
* Rating
|
|
2157
|
+
* @description Seller-provided aggregate star rating (1-5). Shown on the product page. Values outside range clamped.
|
|
2158
|
+
* @example 4.8
|
|
2159
|
+
*/
|
|
2160
|
+
rating?: number | null;
|
|
2161
|
+
/**
|
|
2162
|
+
* Rating Count
|
|
2163
|
+
* @description Seller-provided review or purchase count shown alongside the rating on the product page.
|
|
2164
|
+
* @example 1243
|
|
2165
|
+
*/
|
|
2166
|
+
rating_count?: number | null;
|
|
2167
|
+
/**
|
|
2168
|
+
* Reviews
|
|
2169
|
+
* @description Featured review cards shown on the product page. Seller-provided, not buyer-submitted. Max 10.
|
|
2170
|
+
*/
|
|
2171
|
+
reviews?: components["schemas"]["ReviewInput"][] | null;
|
|
2172
|
+
/**
|
|
2173
|
+
* Faqs
|
|
2174
|
+
* @description FAQ accordion shown on the product page. Answers common buyer questions. Max 10 items.
|
|
2175
|
+
*/
|
|
2176
|
+
faqs?: components["schemas"]["FaqItemInput"][] | null;
|
|
2177
|
+
};
|
|
2178
|
+
/** UpdateWebhookRequest */
|
|
2179
|
+
UpdateWebhookRequest: {
|
|
2180
|
+
/**
|
|
2181
|
+
* Name
|
|
2182
|
+
* @description Display name
|
|
2183
|
+
* @example Order notifications
|
|
2184
|
+
*/
|
|
2185
|
+
name?: string | null;
|
|
2186
|
+
/**
|
|
2187
|
+
* Url
|
|
2188
|
+
* @description HTTPS endpoint URL
|
|
2189
|
+
* @example https://example.com/webhooks/listbee
|
|
2190
|
+
*/
|
|
2191
|
+
url?: string | null;
|
|
2192
|
+
/**
|
|
2193
|
+
* Events
|
|
2194
|
+
* @description Replaces the current event subscriptions. Empty list subscribes to all events
|
|
2195
|
+
* @example [
|
|
2196
|
+
* "order.paid"
|
|
2197
|
+
* ]
|
|
2198
|
+
*/
|
|
2199
|
+
events?: components["schemas"]["WebhookEventType"][] | null;
|
|
2200
|
+
/**
|
|
2201
|
+
* Enabled
|
|
2202
|
+
* @description Set to `false` to pause delivery without deleting the endpoint
|
|
2203
|
+
* @example true
|
|
2204
|
+
*/
|
|
2205
|
+
enabled?: boolean | null;
|
|
2206
|
+
};
|
|
2207
|
+
/** ValidationError */
|
|
2208
|
+
ValidationError: {
|
|
2209
|
+
/** Location */
|
|
2210
|
+
loc: (string | number)[];
|
|
2211
|
+
/** Message */
|
|
2212
|
+
msg: string;
|
|
2213
|
+
/** Error Type */
|
|
2214
|
+
type: string;
|
|
2215
|
+
/** Input */
|
|
2216
|
+
input?: unknown;
|
|
2217
|
+
/** Context */
|
|
2218
|
+
ctx?: Record<string, never>;
|
|
2219
|
+
};
|
|
2220
|
+
/** VerifyOtpRequest */
|
|
2221
|
+
VerifyOtpRequest: {
|
|
2222
|
+
/**
|
|
2223
|
+
* Email
|
|
2224
|
+
* Format: email
|
|
2225
|
+
* @description Email used in account creation.
|
|
2226
|
+
* @example seller@example.com
|
|
2227
|
+
*/
|
|
2228
|
+
email: string;
|
|
2229
|
+
/**
|
|
2230
|
+
* Code
|
|
2231
|
+
* @description 6-digit OTP code from email.
|
|
2232
|
+
* @example 482901
|
|
2233
|
+
*/
|
|
2234
|
+
code: string;
|
|
2235
|
+
};
|
|
2236
|
+
/** VerifyOtpResponse */
|
|
2237
|
+
VerifyOtpResponse: {
|
|
2238
|
+
/**
|
|
2239
|
+
* Object
|
|
2240
|
+
* @description Object type.
|
|
2241
|
+
* @default verify_result
|
|
2242
|
+
* @example verify_result
|
|
2243
|
+
* @constant
|
|
2244
|
+
*/
|
|
2245
|
+
object: "verify_result";
|
|
2246
|
+
/** @description The created or existing account with readiness. */
|
|
2247
|
+
account: components["schemas"]["AccountResponse"];
|
|
2248
|
+
/**
|
|
2249
|
+
* Api Key
|
|
2250
|
+
* @description API key for authenticating all subsequent requests. Always returned — store it, use it as Bearer token.
|
|
2251
|
+
* @example lb_abc123...
|
|
2252
|
+
*/
|
|
2253
|
+
api_key: string;
|
|
2254
|
+
};
|
|
2255
|
+
/** WebhookEventListResponse */
|
|
2256
|
+
WebhookEventListResponse: {
|
|
2257
|
+
/**
|
|
2258
|
+
* Object
|
|
2259
|
+
* @description Object type identifier. Always `list`.
|
|
2260
|
+
* @default list
|
|
2261
|
+
* @example list
|
|
2262
|
+
* @constant
|
|
2263
|
+
*/
|
|
2264
|
+
object: "list";
|
|
2265
|
+
/**
|
|
2266
|
+
* Data
|
|
2267
|
+
* @description Array of webhook event objects.
|
|
2268
|
+
*/
|
|
2269
|
+
data: components["schemas"]["WebhookEventResponse"][];
|
|
2270
|
+
/**
|
|
2271
|
+
* Cursor
|
|
2272
|
+
* @description Pass as `cursor` query param to fetch the next page
|
|
2273
|
+
* @example lst_7kQ2xY9mN3pR5tW1vB8a
|
|
2274
|
+
*/
|
|
2275
|
+
cursor?: string | null;
|
|
2276
|
+
/**
|
|
2277
|
+
* Has More
|
|
2278
|
+
* @description True if more results exist beyond this page
|
|
2279
|
+
* @default false
|
|
2280
|
+
* @example false
|
|
2281
|
+
*/
|
|
2282
|
+
has_more: boolean;
|
|
2283
|
+
};
|
|
2284
|
+
/** WebhookEventResponse */
|
|
2285
|
+
WebhookEventResponse: {
|
|
2286
|
+
/**
|
|
2287
|
+
* Object
|
|
2288
|
+
* @description Object type identifier. Always `webhook_event`.
|
|
2289
|
+
* @default webhook_event
|
|
2290
|
+
* @example webhook_event
|
|
2291
|
+
* @constant
|
|
2292
|
+
*/
|
|
2293
|
+
object: "webhook_event";
|
|
2294
|
+
/**
|
|
2295
|
+
* Id
|
|
2296
|
+
* @description Unique event ID
|
|
2297
|
+
* @example evt_7kQ2xY9mN3pR5tW1
|
|
2298
|
+
*/
|
|
2299
|
+
id: string;
|
|
2300
|
+
/**
|
|
2301
|
+
* @description The event type that triggered this delivery
|
|
2302
|
+
* @example order.paid
|
|
2303
|
+
*/
|
|
2304
|
+
event_type: components["schemas"]["WebhookEventType"];
|
|
2305
|
+
/**
|
|
2306
|
+
* Status
|
|
2307
|
+
* @description Computed status: `delivered` if delivered_at is set, `failed` if attempts >= max_retries, otherwise `pending`.
|
|
2308
|
+
* @example delivered
|
|
2309
|
+
* @enum {string}
|
|
2310
|
+
*/
|
|
2311
|
+
status: "pending" | "delivered" | "failed";
|
|
2312
|
+
/**
|
|
2313
|
+
* Attempts
|
|
2314
|
+
* @description Number of delivery attempts made
|
|
2315
|
+
* @example 1
|
|
2316
|
+
*/
|
|
2317
|
+
attempts: number;
|
|
2318
|
+
/**
|
|
2319
|
+
* Max Retries
|
|
2320
|
+
* @description Maximum delivery attempts before marking as failed
|
|
2321
|
+
* @example 5
|
|
2322
|
+
*/
|
|
2323
|
+
max_retries: number;
|
|
2324
|
+
/**
|
|
2325
|
+
* Response Status
|
|
2326
|
+
* @description HTTP status code from the last delivery attempt
|
|
2327
|
+
* @example 200
|
|
2328
|
+
*/
|
|
2329
|
+
response_status?: number | null;
|
|
2330
|
+
/**
|
|
2331
|
+
* Last Error
|
|
2332
|
+
* @description Error message from the last failed attempt
|
|
2333
|
+
* @example null
|
|
2334
|
+
*/
|
|
2335
|
+
last_error?: string | null;
|
|
2336
|
+
/**
|
|
2337
|
+
* Created At
|
|
2338
|
+
* Format: date-time
|
|
2339
|
+
* @description Time at which the event was created
|
|
2340
|
+
* @example 2026-04-03T14:30:00Z
|
|
2341
|
+
*/
|
|
2342
|
+
created_at: string;
|
|
2343
|
+
/**
|
|
2344
|
+
* Delivered At
|
|
2345
|
+
* @description Time at which the event was successfully delivered
|
|
2346
|
+
* @example 2026-04-03T14:30:01Z
|
|
2347
|
+
*/
|
|
2348
|
+
delivered_at?: string | null;
|
|
2349
|
+
/**
|
|
2350
|
+
* Failed At
|
|
2351
|
+
* @description Time at which the event permanently failed (all retries exhausted)
|
|
2352
|
+
* @example null
|
|
2353
|
+
*/
|
|
2354
|
+
failed_at?: string | null;
|
|
2355
|
+
/**
|
|
2356
|
+
* Next Retry At
|
|
2357
|
+
* @description Expected time for the next delivery retry
|
|
2358
|
+
* @example null
|
|
2359
|
+
*/
|
|
2360
|
+
next_retry_at?: string | null;
|
|
2361
|
+
};
|
|
2362
|
+
/**
|
|
2363
|
+
* WebhookEventType
|
|
2364
|
+
* @enum {string}
|
|
2365
|
+
*/
|
|
2366
|
+
WebhookEventType: "order.paid" | "order.fulfilled" | "order.shipped" | "order.refunded" | "order.disputed" | "order.dispute_closed" | "order.canceled" | "listing.created" | "listing.updated" | "listing.out_of_stock" | "listing.deleted" | "customer.created";
|
|
2367
|
+
/** WebhookListResponse */
|
|
2368
|
+
WebhookListResponse: {
|
|
2369
|
+
/**
|
|
2370
|
+
* Object
|
|
2371
|
+
* @description Object type identifier. Always `list`.
|
|
2372
|
+
* @default list
|
|
2373
|
+
* @example list
|
|
2374
|
+
* @constant
|
|
2375
|
+
*/
|
|
2376
|
+
object: "list";
|
|
2377
|
+
/**
|
|
2378
|
+
* Data
|
|
2379
|
+
* @description Array of webhook objects.
|
|
2380
|
+
*/
|
|
2381
|
+
data: components["schemas"]["WebhookResponse"][];
|
|
2382
|
+
};
|
|
2383
|
+
/** WebhookReadiness */
|
|
2384
|
+
WebhookReadiness: {
|
|
2385
|
+
/**
|
|
2386
|
+
* Ready
|
|
2387
|
+
* @description True when the webhook is active and receiving events.
|
|
2388
|
+
* @example true
|
|
2389
|
+
*/
|
|
2390
|
+
ready: boolean;
|
|
2391
|
+
/**
|
|
2392
|
+
* Actions
|
|
2393
|
+
* @description Steps to fix the webhook.
|
|
2394
|
+
*/
|
|
2395
|
+
actions?: components["schemas"]["Action"][];
|
|
2396
|
+
/**
|
|
2397
|
+
* Next
|
|
2398
|
+
* @description Highest-priority action code.
|
|
2399
|
+
* @example null
|
|
2400
|
+
*/
|
|
2401
|
+
next?: string | null;
|
|
2402
|
+
};
|
|
2403
|
+
/** WebhookResponse */
|
|
2404
|
+
WebhookResponse: {
|
|
2405
|
+
/**
|
|
2406
|
+
* Object
|
|
2407
|
+
* @description Object type identifier. Always `webhook`.
|
|
2408
|
+
* @default webhook
|
|
2409
|
+
* @example webhook
|
|
2410
|
+
* @constant
|
|
2411
|
+
*/
|
|
2412
|
+
object: "webhook";
|
|
2413
|
+
/**
|
|
2414
|
+
* Id
|
|
2415
|
+
* @description Unique identifier
|
|
2416
|
+
* @example wh_3mK8nP2qR5tW7xY1
|
|
2417
|
+
*/
|
|
2418
|
+
id: string;
|
|
2419
|
+
/**
|
|
2420
|
+
* Name
|
|
2421
|
+
* @description Display name
|
|
2422
|
+
* @example Order notifications
|
|
2423
|
+
*/
|
|
2424
|
+
name: string;
|
|
2425
|
+
/**
|
|
2426
|
+
* Url
|
|
2427
|
+
* @description Endpoint URL
|
|
2428
|
+
* @example https://example.com/webhooks/listbee
|
|
2429
|
+
*/
|
|
2430
|
+
url: string;
|
|
2431
|
+
/**
|
|
2432
|
+
* Secret
|
|
2433
|
+
* @description HMAC-SHA256 signing secret. Use to verify webhook payload signatures. See docs for verification examples.
|
|
2434
|
+
* @example whsec_a1b2c3d4e5f6
|
|
2435
|
+
*/
|
|
2436
|
+
secret: string;
|
|
2437
|
+
/**
|
|
2438
|
+
* Events
|
|
2439
|
+
* @description Subscribed event types. Empty means all events
|
|
2440
|
+
* @example [
|
|
2441
|
+
* "order.paid"
|
|
2442
|
+
* ]
|
|
2443
|
+
*/
|
|
2444
|
+
events: components["schemas"]["WebhookEventType"][];
|
|
2445
|
+
/**
|
|
2446
|
+
* Enabled
|
|
2447
|
+
* @description `false` when delivery is paused
|
|
2448
|
+
* @example true
|
|
2449
|
+
*/
|
|
2450
|
+
enabled: boolean;
|
|
2451
|
+
/**
|
|
2452
|
+
* Disabled Reason
|
|
2453
|
+
* @description Reason the webhook was disabled. `consecutive_failures` when auto-disabled after repeated delivery failures.
|
|
2454
|
+
* @example null
|
|
2455
|
+
*/
|
|
2456
|
+
disabled_reason?: string | null;
|
|
2457
|
+
/** @description Readiness status with actionable steps if the webhook needs attention. */
|
|
2458
|
+
readiness: components["schemas"]["WebhookReadiness"];
|
|
2459
|
+
/**
|
|
2460
|
+
* Created At
|
|
2461
|
+
* Format: date-time
|
|
2462
|
+
* @description Time at which the endpoint was created
|
|
2463
|
+
* @example 2026-04-01T09:00:00Z
|
|
2464
|
+
*/
|
|
2465
|
+
created_at: string;
|
|
2466
|
+
};
|
|
2467
|
+
/** WebhookTestResponse */
|
|
2468
|
+
WebhookTestResponse: {
|
|
2469
|
+
/**
|
|
2470
|
+
* Object
|
|
2471
|
+
* @description Object type identifier. Always `webhook_test`.
|
|
2472
|
+
* @default webhook_test
|
|
2473
|
+
* @example webhook_test
|
|
2474
|
+
* @constant
|
|
2475
|
+
*/
|
|
2476
|
+
object: "webhook_test";
|
|
2477
|
+
/**
|
|
2478
|
+
* Success
|
|
2479
|
+
* @description `true` if the endpoint returned a 2xx status code
|
|
2480
|
+
* @example true
|
|
2481
|
+
*/
|
|
2482
|
+
success: boolean;
|
|
2483
|
+
/**
|
|
2484
|
+
* Status Code
|
|
2485
|
+
* @description HTTP status code returned by the endpoint
|
|
2486
|
+
* @example 200
|
|
2487
|
+
*/
|
|
2488
|
+
status_code?: number | null;
|
|
2489
|
+
/**
|
|
2490
|
+
* Response Body
|
|
2491
|
+
* @description Response body from the endpoint, truncated to 2000 characters
|
|
2492
|
+
* @example OK
|
|
2493
|
+
*/
|
|
2494
|
+
response_body?: string | null;
|
|
2495
|
+
/**
|
|
2496
|
+
* Error
|
|
2497
|
+
* @description Error message if delivery failed entirely
|
|
2498
|
+
* @example null
|
|
2499
|
+
*/
|
|
2500
|
+
error?: string | null;
|
|
2501
|
+
};
|
|
2502
|
+
};
|
|
2503
|
+
responses: never;
|
|
2504
|
+
parameters: never;
|
|
2505
|
+
requestBodies: never;
|
|
2506
|
+
headers: never;
|
|
2507
|
+
pathItems: never;
|
|
2508
|
+
}
|
|
2509
|
+
export type $defs = Record<string, never>;
|
|
2510
|
+
export interface operations {
|
|
2511
|
+
get_account: {
|
|
2512
|
+
parameters: {
|
|
2513
|
+
query?: never;
|
|
2514
|
+
header?: never;
|
|
2515
|
+
path?: never;
|
|
2516
|
+
cookie?: never;
|
|
2517
|
+
};
|
|
2518
|
+
requestBody?: never;
|
|
2519
|
+
responses: {
|
|
2520
|
+
/** @description Successful Response */
|
|
2521
|
+
200: {
|
|
2522
|
+
headers: {
|
|
2523
|
+
[name: string]: unknown;
|
|
2524
|
+
};
|
|
2525
|
+
content: {
|
|
2526
|
+
"application/json": components["schemas"]["AccountResponse"];
|
|
2527
|
+
};
|
|
2528
|
+
};
|
|
2529
|
+
/** @description Invalid or missing API key. */
|
|
2530
|
+
401: {
|
|
2531
|
+
headers: {
|
|
2532
|
+
[name: string]: unknown;
|
|
2533
|
+
};
|
|
2534
|
+
content: {
|
|
2535
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2536
|
+
};
|
|
2537
|
+
};
|
|
2538
|
+
};
|
|
2539
|
+
};
|
|
2540
|
+
update_account: {
|
|
2541
|
+
parameters: {
|
|
2542
|
+
query?: never;
|
|
2543
|
+
header?: never;
|
|
2544
|
+
path?: never;
|
|
2545
|
+
cookie?: never;
|
|
2546
|
+
};
|
|
2547
|
+
requestBody: {
|
|
2548
|
+
content: {
|
|
2549
|
+
"application/json": components["schemas"]["UpdateAccountRequest"];
|
|
2550
|
+
};
|
|
2551
|
+
};
|
|
2552
|
+
responses: {
|
|
2553
|
+
/** @description Successful Response */
|
|
2554
|
+
200: {
|
|
2555
|
+
headers: {
|
|
2556
|
+
[name: string]: unknown;
|
|
2557
|
+
};
|
|
2558
|
+
content: {
|
|
2559
|
+
"application/json": components["schemas"]["AccountResponse"];
|
|
2560
|
+
};
|
|
2561
|
+
};
|
|
2562
|
+
/** @description Invalid or missing API key. */
|
|
2563
|
+
401: {
|
|
2564
|
+
headers: {
|
|
2565
|
+
[name: string]: unknown;
|
|
2566
|
+
};
|
|
2567
|
+
content: {
|
|
2568
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2569
|
+
};
|
|
2570
|
+
};
|
|
2571
|
+
/** @description Validation error. */
|
|
2572
|
+
422: {
|
|
2573
|
+
headers: {
|
|
2574
|
+
[name: string]: unknown;
|
|
2575
|
+
};
|
|
2576
|
+
content: {
|
|
2577
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2578
|
+
};
|
|
2579
|
+
};
|
|
2580
|
+
};
|
|
2581
|
+
};
|
|
2582
|
+
create_account: {
|
|
2583
|
+
parameters: {
|
|
2584
|
+
query?: never;
|
|
2585
|
+
header?: never;
|
|
2586
|
+
path?: never;
|
|
2587
|
+
cookie?: never;
|
|
2588
|
+
};
|
|
2589
|
+
requestBody: {
|
|
2590
|
+
content: {
|
|
2591
|
+
"application/json": components["schemas"]["CreateAccountRequest"];
|
|
2592
|
+
};
|
|
2593
|
+
};
|
|
2594
|
+
responses: {
|
|
2595
|
+
/** @description Successful Response */
|
|
2596
|
+
200: {
|
|
2597
|
+
headers: {
|
|
2598
|
+
[name: string]: unknown;
|
|
2599
|
+
};
|
|
2600
|
+
content: {
|
|
2601
|
+
"application/json": components["schemas"]["CreateAccountResponse"];
|
|
2602
|
+
};
|
|
2603
|
+
};
|
|
2604
|
+
/** @description Blocked email domain. */
|
|
2605
|
+
422: {
|
|
2606
|
+
headers: {
|
|
2607
|
+
[name: string]: unknown;
|
|
2608
|
+
};
|
|
2609
|
+
content: {
|
|
2610
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2611
|
+
};
|
|
2612
|
+
};
|
|
2613
|
+
/** @description Too many OTP requests. */
|
|
2614
|
+
429: {
|
|
2615
|
+
headers: {
|
|
2616
|
+
[name: string]: unknown;
|
|
2617
|
+
};
|
|
2618
|
+
content: {
|
|
2619
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2620
|
+
};
|
|
2621
|
+
};
|
|
2622
|
+
};
|
|
2623
|
+
};
|
|
2624
|
+
delete_account: {
|
|
2625
|
+
parameters: {
|
|
2626
|
+
query?: never;
|
|
2627
|
+
header?: never;
|
|
2628
|
+
path?: never;
|
|
2629
|
+
cookie?: never;
|
|
2630
|
+
};
|
|
2631
|
+
requestBody?: never;
|
|
2632
|
+
responses: {
|
|
2633
|
+
/** @description Successful Response */
|
|
2634
|
+
204: {
|
|
2635
|
+
headers: {
|
|
2636
|
+
[name: string]: unknown;
|
|
2637
|
+
};
|
|
2638
|
+
content?: never;
|
|
2639
|
+
};
|
|
2640
|
+
/** @description Invalid or missing API key. */
|
|
2641
|
+
401: {
|
|
2642
|
+
headers: {
|
|
2643
|
+
[name: string]: unknown;
|
|
2644
|
+
};
|
|
2645
|
+
content: {
|
|
2646
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2647
|
+
};
|
|
2648
|
+
};
|
|
2649
|
+
};
|
|
2650
|
+
};
|
|
2651
|
+
verify_otp: {
|
|
2652
|
+
parameters: {
|
|
2653
|
+
query?: never;
|
|
2654
|
+
header?: never;
|
|
2655
|
+
path?: never;
|
|
2656
|
+
cookie?: never;
|
|
2657
|
+
};
|
|
2658
|
+
requestBody: {
|
|
2659
|
+
content: {
|
|
2660
|
+
"application/json": components["schemas"]["VerifyOtpRequest"];
|
|
2661
|
+
};
|
|
2662
|
+
};
|
|
2663
|
+
responses: {
|
|
2664
|
+
/** @description Successful Response */
|
|
2665
|
+
201: {
|
|
2666
|
+
headers: {
|
|
2667
|
+
[name: string]: unknown;
|
|
2668
|
+
};
|
|
2669
|
+
content: {
|
|
2670
|
+
"application/json": components["schemas"]["VerifyOtpResponse"];
|
|
2671
|
+
};
|
|
2672
|
+
};
|
|
2673
|
+
/** @description Invalid or expired OTP code. */
|
|
2674
|
+
401: {
|
|
2675
|
+
headers: {
|
|
2676
|
+
[name: string]: unknown;
|
|
2677
|
+
};
|
|
2678
|
+
content: {
|
|
2679
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2680
|
+
};
|
|
2681
|
+
};
|
|
2682
|
+
/** @description Validation Error */
|
|
2683
|
+
422: {
|
|
2684
|
+
headers: {
|
|
2685
|
+
[name: string]: unknown;
|
|
2686
|
+
};
|
|
2687
|
+
content: {
|
|
2688
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2689
|
+
};
|
|
2690
|
+
};
|
|
2691
|
+
/** @description Too many verification attempts. */
|
|
2692
|
+
429: {
|
|
2693
|
+
headers: {
|
|
2694
|
+
[name: string]: unknown;
|
|
2695
|
+
};
|
|
2696
|
+
content: {
|
|
2697
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2698
|
+
};
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
};
|
|
2702
|
+
list_api_keys: {
|
|
2703
|
+
parameters: {
|
|
2704
|
+
query?: never;
|
|
2705
|
+
header?: never;
|
|
2706
|
+
path?: never;
|
|
2707
|
+
cookie?: never;
|
|
2708
|
+
};
|
|
2709
|
+
requestBody?: never;
|
|
2710
|
+
responses: {
|
|
2711
|
+
/** @description Successful Response */
|
|
2712
|
+
200: {
|
|
2713
|
+
headers: {
|
|
2714
|
+
[name: string]: unknown;
|
|
2715
|
+
};
|
|
2716
|
+
content: {
|
|
2717
|
+
"application/json": components["schemas"]["ApiKeyListResponse"];
|
|
2718
|
+
};
|
|
2719
|
+
};
|
|
2720
|
+
/** @description Invalid or missing API key. */
|
|
2721
|
+
401: {
|
|
2722
|
+
headers: {
|
|
2723
|
+
[name: string]: unknown;
|
|
2724
|
+
};
|
|
2725
|
+
content: {
|
|
2726
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2727
|
+
};
|
|
2728
|
+
};
|
|
2729
|
+
};
|
|
2730
|
+
};
|
|
2731
|
+
create_api_key: {
|
|
2732
|
+
parameters: {
|
|
2733
|
+
query?: never;
|
|
2734
|
+
header?: never;
|
|
2735
|
+
path?: never;
|
|
2736
|
+
cookie?: never;
|
|
2737
|
+
};
|
|
2738
|
+
requestBody: {
|
|
2739
|
+
content: {
|
|
2740
|
+
"application/json": components["schemas"]["CreateApiKeyRequest"];
|
|
2741
|
+
};
|
|
2742
|
+
};
|
|
2743
|
+
responses: {
|
|
2744
|
+
/** @description Successful Response */
|
|
2745
|
+
201: {
|
|
2746
|
+
headers: {
|
|
2747
|
+
[name: string]: unknown;
|
|
2748
|
+
};
|
|
2749
|
+
content: {
|
|
2750
|
+
"application/json": components["schemas"]["ApiKeyResponse"];
|
|
2751
|
+
};
|
|
2752
|
+
};
|
|
2753
|
+
/** @description Invalid or missing API key. */
|
|
2754
|
+
401: {
|
|
2755
|
+
headers: {
|
|
2756
|
+
[name: string]: unknown;
|
|
2757
|
+
};
|
|
2758
|
+
content: {
|
|
2759
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2760
|
+
};
|
|
2761
|
+
};
|
|
2762
|
+
/** @description Validation Error */
|
|
2763
|
+
422: {
|
|
2764
|
+
headers: {
|
|
2765
|
+
[name: string]: unknown;
|
|
2766
|
+
};
|
|
2767
|
+
content: {
|
|
2768
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2769
|
+
};
|
|
2770
|
+
};
|
|
2771
|
+
};
|
|
2772
|
+
};
|
|
2773
|
+
delete_api_key: {
|
|
2774
|
+
parameters: {
|
|
2775
|
+
query?: never;
|
|
2776
|
+
header?: never;
|
|
2777
|
+
path: {
|
|
2778
|
+
/** @description API key ID. */
|
|
2779
|
+
key_id: string;
|
|
2780
|
+
};
|
|
2781
|
+
cookie?: never;
|
|
2782
|
+
};
|
|
2783
|
+
requestBody?: never;
|
|
2784
|
+
responses: {
|
|
2785
|
+
/** @description Successful Response */
|
|
2786
|
+
204: {
|
|
2787
|
+
headers: {
|
|
2788
|
+
[name: string]: unknown;
|
|
2789
|
+
};
|
|
2790
|
+
content?: never;
|
|
2791
|
+
};
|
|
2792
|
+
/** @description Invalid or missing API key. */
|
|
2793
|
+
401: {
|
|
2794
|
+
headers: {
|
|
2795
|
+
[name: string]: unknown;
|
|
2796
|
+
};
|
|
2797
|
+
content: {
|
|
2798
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2799
|
+
};
|
|
2800
|
+
};
|
|
2801
|
+
/** @description API key not found. */
|
|
2802
|
+
404: {
|
|
2803
|
+
headers: {
|
|
2804
|
+
[name: string]: unknown;
|
|
2805
|
+
};
|
|
2806
|
+
content: {
|
|
2807
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2808
|
+
};
|
|
2809
|
+
};
|
|
2810
|
+
/** @description Cannot delete the key used for this request. */
|
|
2811
|
+
409: {
|
|
2812
|
+
headers: {
|
|
2813
|
+
[name: string]: unknown;
|
|
2814
|
+
};
|
|
2815
|
+
content: {
|
|
2816
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2817
|
+
};
|
|
2818
|
+
};
|
|
2819
|
+
/** @description Validation Error */
|
|
2820
|
+
422: {
|
|
2821
|
+
headers: {
|
|
2822
|
+
[name: string]: unknown;
|
|
2823
|
+
};
|
|
2824
|
+
content: {
|
|
2825
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2826
|
+
};
|
|
2827
|
+
};
|
|
2828
|
+
};
|
|
2829
|
+
};
|
|
2830
|
+
list_customers: {
|
|
2831
|
+
parameters: {
|
|
2832
|
+
query?: {
|
|
2833
|
+
/** @description Filter by exact buyer email address. */
|
|
2834
|
+
email?: string | null;
|
|
2835
|
+
/** @description Only customers created after this ISO 8601 datetime. */
|
|
2836
|
+
created_after?: string | null;
|
|
2837
|
+
/** @description Only customers created before this ISO 8601 datetime. */
|
|
2838
|
+
created_before?: string | null;
|
|
2839
|
+
/** @description Pagination cursor from a previous response. */
|
|
2840
|
+
cursor?: string | null;
|
|
2841
|
+
/** @description Maximum number of customers to return. */
|
|
2842
|
+
limit?: number;
|
|
2843
|
+
};
|
|
2844
|
+
header?: never;
|
|
2845
|
+
path?: never;
|
|
2846
|
+
cookie?: never;
|
|
2847
|
+
};
|
|
2848
|
+
requestBody?: never;
|
|
2849
|
+
responses: {
|
|
2850
|
+
/** @description Successful Response */
|
|
2851
|
+
200: {
|
|
2852
|
+
headers: {
|
|
2853
|
+
[name: string]: unknown;
|
|
2854
|
+
};
|
|
2855
|
+
content: {
|
|
2856
|
+
"application/json": components["schemas"]["CustomerListResponse"];
|
|
2857
|
+
};
|
|
2858
|
+
};
|
|
2859
|
+
/** @description Invalid or missing API key. */
|
|
2860
|
+
401: {
|
|
2861
|
+
headers: {
|
|
2862
|
+
[name: string]: unknown;
|
|
2863
|
+
};
|
|
2864
|
+
content: {
|
|
2865
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2866
|
+
};
|
|
2867
|
+
};
|
|
2868
|
+
/** @description Validation Error */
|
|
2869
|
+
422: {
|
|
2870
|
+
headers: {
|
|
2871
|
+
[name: string]: unknown;
|
|
2872
|
+
};
|
|
2873
|
+
content: {
|
|
2874
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2875
|
+
};
|
|
2876
|
+
};
|
|
2877
|
+
};
|
|
2878
|
+
};
|
|
2879
|
+
get_customer: {
|
|
2880
|
+
parameters: {
|
|
2881
|
+
query?: never;
|
|
2882
|
+
header?: never;
|
|
2883
|
+
path: {
|
|
2884
|
+
/** @description Customer ID. */
|
|
2885
|
+
customer_id: string;
|
|
2886
|
+
};
|
|
2887
|
+
cookie?: never;
|
|
2888
|
+
};
|
|
2889
|
+
requestBody?: never;
|
|
2890
|
+
responses: {
|
|
2891
|
+
/** @description Successful Response */
|
|
2892
|
+
200: {
|
|
2893
|
+
headers: {
|
|
2894
|
+
[name: string]: unknown;
|
|
2895
|
+
};
|
|
2896
|
+
content: {
|
|
2897
|
+
"application/json": components["schemas"]["CustomerResponse"];
|
|
2898
|
+
};
|
|
2899
|
+
};
|
|
2900
|
+
/** @description Invalid or missing API key. */
|
|
2901
|
+
401: {
|
|
2902
|
+
headers: {
|
|
2903
|
+
[name: string]: unknown;
|
|
2904
|
+
};
|
|
2905
|
+
content: {
|
|
2906
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2907
|
+
};
|
|
2908
|
+
};
|
|
2909
|
+
/** @description Customer not found. */
|
|
2910
|
+
404: {
|
|
2911
|
+
headers: {
|
|
2912
|
+
[name: string]: unknown;
|
|
2913
|
+
};
|
|
2914
|
+
content: {
|
|
2915
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2916
|
+
};
|
|
2917
|
+
};
|
|
2918
|
+
/** @description Validation Error */
|
|
2919
|
+
422: {
|
|
2920
|
+
headers: {
|
|
2921
|
+
[name: string]: unknown;
|
|
2922
|
+
};
|
|
2923
|
+
content: {
|
|
2924
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2925
|
+
};
|
|
2926
|
+
};
|
|
2927
|
+
};
|
|
2928
|
+
};
|
|
2929
|
+
upload_file: {
|
|
2930
|
+
parameters: {
|
|
2931
|
+
query?: never;
|
|
2932
|
+
header?: never;
|
|
2933
|
+
path?: never;
|
|
2934
|
+
cookie?: never;
|
|
2935
|
+
};
|
|
2936
|
+
requestBody: {
|
|
2937
|
+
content: {
|
|
2938
|
+
"multipart/form-data": components["schemas"]["Body_upload_file"];
|
|
2939
|
+
};
|
|
2940
|
+
};
|
|
2941
|
+
responses: {
|
|
2942
|
+
/** @description File uploaded. Token valid for 24 hours. */
|
|
2943
|
+
201: {
|
|
2944
|
+
headers: {
|
|
2945
|
+
[name: string]: unknown;
|
|
2946
|
+
};
|
|
2947
|
+
content: {
|
|
2948
|
+
"application/json": components["schemas"]["FileResponse"];
|
|
2949
|
+
};
|
|
2950
|
+
};
|
|
2951
|
+
/** @description Invalid or missing API key. */
|
|
2952
|
+
401: {
|
|
2953
|
+
headers: {
|
|
2954
|
+
[name: string]: unknown;
|
|
2955
|
+
};
|
|
2956
|
+
content: {
|
|
2957
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2958
|
+
};
|
|
2959
|
+
};
|
|
2960
|
+
/** @description File exceeds 25 MB. */
|
|
2961
|
+
413: {
|
|
2962
|
+
headers: {
|
|
2963
|
+
[name: string]: unknown;
|
|
2964
|
+
};
|
|
2965
|
+
content: {
|
|
2966
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2967
|
+
};
|
|
2968
|
+
};
|
|
2969
|
+
/** @description Unsupported file type or missing file. */
|
|
2970
|
+
422: {
|
|
2971
|
+
headers: {
|
|
2972
|
+
[name: string]: unknown;
|
|
2973
|
+
};
|
|
2974
|
+
content: {
|
|
2975
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2976
|
+
};
|
|
2977
|
+
};
|
|
2978
|
+
/** @description Rate limit exceeded. */
|
|
2979
|
+
429: {
|
|
2980
|
+
headers: {
|
|
2981
|
+
[name: string]: unknown;
|
|
2982
|
+
};
|
|
2983
|
+
content: {
|
|
2984
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
2985
|
+
};
|
|
2986
|
+
};
|
|
2987
|
+
};
|
|
2988
|
+
};
|
|
2989
|
+
list_listings: {
|
|
2990
|
+
parameters: {
|
|
2991
|
+
query?: {
|
|
2992
|
+
/** @description Filter by listing status. */
|
|
2993
|
+
status?: components["schemas"]["ListingStatus"] | null;
|
|
2994
|
+
/** @description Pagination cursor from a previous response. */
|
|
2995
|
+
cursor?: string | null;
|
|
2996
|
+
/** @description Maximum number of listings to return. */
|
|
2997
|
+
limit?: number;
|
|
2998
|
+
};
|
|
2999
|
+
header?: never;
|
|
3000
|
+
path?: never;
|
|
3001
|
+
cookie?: never;
|
|
3002
|
+
};
|
|
3003
|
+
requestBody?: never;
|
|
3004
|
+
responses: {
|
|
3005
|
+
/** @description Successful Response */
|
|
3006
|
+
200: {
|
|
3007
|
+
headers: {
|
|
3008
|
+
[name: string]: unknown;
|
|
3009
|
+
};
|
|
3010
|
+
content: {
|
|
3011
|
+
"application/json": components["schemas"]["ListingListResponse"];
|
|
3012
|
+
};
|
|
3013
|
+
};
|
|
3014
|
+
/** @description Invalid or missing API key. */
|
|
3015
|
+
401: {
|
|
3016
|
+
headers: {
|
|
3017
|
+
[name: string]: unknown;
|
|
3018
|
+
};
|
|
3019
|
+
content: {
|
|
3020
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3021
|
+
};
|
|
3022
|
+
};
|
|
3023
|
+
/** @description Validation Error */
|
|
3024
|
+
422: {
|
|
3025
|
+
headers: {
|
|
3026
|
+
[name: string]: unknown;
|
|
3027
|
+
};
|
|
3028
|
+
content: {
|
|
3029
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3030
|
+
};
|
|
3031
|
+
};
|
|
3032
|
+
};
|
|
3033
|
+
};
|
|
3034
|
+
create_listing: {
|
|
3035
|
+
parameters: {
|
|
3036
|
+
query?: never;
|
|
3037
|
+
header?: never;
|
|
3038
|
+
path?: never;
|
|
3039
|
+
cookie?: never;
|
|
3040
|
+
};
|
|
3041
|
+
requestBody: {
|
|
3042
|
+
content: {
|
|
3043
|
+
"application/json": components["schemas"]["CreateListingRequest"];
|
|
3044
|
+
};
|
|
3045
|
+
};
|
|
3046
|
+
responses: {
|
|
3047
|
+
/** @description Listing created and published. */
|
|
3048
|
+
201: {
|
|
3049
|
+
headers: {
|
|
3050
|
+
[name: string]: unknown;
|
|
3051
|
+
};
|
|
3052
|
+
content: {
|
|
3053
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3054
|
+
};
|
|
3055
|
+
};
|
|
3056
|
+
/** @description Invalid or missing API key. */
|
|
3057
|
+
401: {
|
|
3058
|
+
headers: {
|
|
3059
|
+
[name: string]: unknown;
|
|
3060
|
+
};
|
|
3061
|
+
content: {
|
|
3062
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3063
|
+
};
|
|
3064
|
+
};
|
|
3065
|
+
/** @description Validation error (code: `validation_error`). Check `detail` for specifics: price must be positive, slug already exists, managed mode requires deliverables, deliverable URL unreachable or unsupported format, external mode cannot have deliverables. */
|
|
3066
|
+
422: {
|
|
3067
|
+
headers: {
|
|
3068
|
+
[name: string]: unknown;
|
|
3069
|
+
};
|
|
3070
|
+
content: {
|
|
3071
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3072
|
+
};
|
|
3073
|
+
};
|
|
3074
|
+
/** @description Rate limit exceeded. Retry after the `Retry-After` header value. */
|
|
3075
|
+
429: {
|
|
3076
|
+
headers: {
|
|
3077
|
+
[name: string]: unknown;
|
|
3078
|
+
};
|
|
3079
|
+
content: {
|
|
3080
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3081
|
+
};
|
|
3082
|
+
};
|
|
3083
|
+
};
|
|
3084
|
+
};
|
|
3085
|
+
get_listing: {
|
|
3086
|
+
parameters: {
|
|
3087
|
+
query?: never;
|
|
3088
|
+
header?: never;
|
|
3089
|
+
path: {
|
|
3090
|
+
/** @description Listing ID (lst_ prefixed). */
|
|
3091
|
+
listing_id: string;
|
|
3092
|
+
};
|
|
3093
|
+
cookie?: never;
|
|
3094
|
+
};
|
|
3095
|
+
requestBody?: never;
|
|
3096
|
+
responses: {
|
|
3097
|
+
/** @description Successful Response */
|
|
3098
|
+
200: {
|
|
3099
|
+
headers: {
|
|
3100
|
+
[name: string]: unknown;
|
|
3101
|
+
};
|
|
3102
|
+
content: {
|
|
3103
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3104
|
+
};
|
|
3105
|
+
};
|
|
3106
|
+
/** @description Invalid or missing API key. */
|
|
3107
|
+
401: {
|
|
3108
|
+
headers: {
|
|
3109
|
+
[name: string]: unknown;
|
|
3110
|
+
};
|
|
3111
|
+
content: {
|
|
3112
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3113
|
+
};
|
|
3114
|
+
};
|
|
3115
|
+
/** @description Listing not found. */
|
|
3116
|
+
404: {
|
|
3117
|
+
headers: {
|
|
3118
|
+
[name: string]: unknown;
|
|
3119
|
+
};
|
|
3120
|
+
content: {
|
|
3121
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3122
|
+
};
|
|
3123
|
+
};
|
|
3124
|
+
/** @description Validation Error */
|
|
3125
|
+
422: {
|
|
3126
|
+
headers: {
|
|
3127
|
+
[name: string]: unknown;
|
|
3128
|
+
};
|
|
3129
|
+
content: {
|
|
3130
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3131
|
+
};
|
|
3132
|
+
};
|
|
3133
|
+
};
|
|
3134
|
+
};
|
|
3135
|
+
update_listing: {
|
|
3136
|
+
parameters: {
|
|
3137
|
+
query?: never;
|
|
3138
|
+
header?: never;
|
|
3139
|
+
path: {
|
|
3140
|
+
/** @description Listing ID (lst_ prefixed). */
|
|
3141
|
+
listing_id: string;
|
|
3142
|
+
};
|
|
3143
|
+
cookie?: never;
|
|
3144
|
+
};
|
|
3145
|
+
requestBody: {
|
|
3146
|
+
content: {
|
|
3147
|
+
"application/json": components["schemas"]["UpdateListingRequest"];
|
|
3148
|
+
};
|
|
3149
|
+
};
|
|
3150
|
+
responses: {
|
|
3151
|
+
/** @description Successful Response */
|
|
3152
|
+
200: {
|
|
3153
|
+
headers: {
|
|
3154
|
+
[name: string]: unknown;
|
|
3155
|
+
};
|
|
3156
|
+
content: {
|
|
3157
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3158
|
+
};
|
|
3159
|
+
};
|
|
3160
|
+
/** @description Invalid or missing API key. */
|
|
3161
|
+
401: {
|
|
3162
|
+
headers: {
|
|
3163
|
+
[name: string]: unknown;
|
|
3164
|
+
};
|
|
3165
|
+
content: {
|
|
3166
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3167
|
+
};
|
|
3168
|
+
};
|
|
3169
|
+
/** @description Listing not found. */
|
|
3170
|
+
404: {
|
|
3171
|
+
headers: {
|
|
3172
|
+
[name: string]: unknown;
|
|
3173
|
+
};
|
|
3174
|
+
content: {
|
|
3175
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3176
|
+
};
|
|
3177
|
+
};
|
|
3178
|
+
/** @description Validation error. */
|
|
3179
|
+
422: {
|
|
3180
|
+
headers: {
|
|
3181
|
+
[name: string]: unknown;
|
|
3182
|
+
};
|
|
3183
|
+
content: {
|
|
3184
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3185
|
+
};
|
|
3186
|
+
};
|
|
3187
|
+
};
|
|
3188
|
+
};
|
|
3189
|
+
delete_listing: {
|
|
3190
|
+
parameters: {
|
|
3191
|
+
query?: never;
|
|
3192
|
+
header?: never;
|
|
3193
|
+
path: {
|
|
3194
|
+
/** @description Listing ID (lst_ prefixed). */
|
|
3195
|
+
listing_id: string;
|
|
3196
|
+
};
|
|
3197
|
+
cookie?: never;
|
|
3198
|
+
};
|
|
3199
|
+
requestBody?: never;
|
|
3200
|
+
responses: {
|
|
3201
|
+
/** @description Successful Response */
|
|
3202
|
+
204: {
|
|
3203
|
+
headers: {
|
|
3204
|
+
[name: string]: unknown;
|
|
3205
|
+
};
|
|
3206
|
+
content?: never;
|
|
3207
|
+
};
|
|
3208
|
+
/** @description Invalid or missing API key. */
|
|
3209
|
+
401: {
|
|
3210
|
+
headers: {
|
|
3211
|
+
[name: string]: unknown;
|
|
3212
|
+
};
|
|
3213
|
+
content: {
|
|
3214
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3215
|
+
};
|
|
3216
|
+
};
|
|
3217
|
+
/** @description Listing not found. */
|
|
3218
|
+
404: {
|
|
3219
|
+
headers: {
|
|
3220
|
+
[name: string]: unknown;
|
|
3221
|
+
};
|
|
3222
|
+
content: {
|
|
3223
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3224
|
+
};
|
|
3225
|
+
};
|
|
3226
|
+
/** @description Validation Error */
|
|
3227
|
+
422: {
|
|
3228
|
+
headers: {
|
|
3229
|
+
[name: string]: unknown;
|
|
3230
|
+
};
|
|
3231
|
+
content: {
|
|
3232
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3233
|
+
};
|
|
3234
|
+
};
|
|
3235
|
+
};
|
|
3236
|
+
};
|
|
3237
|
+
set_deliverables: {
|
|
3238
|
+
parameters: {
|
|
3239
|
+
query?: never;
|
|
3240
|
+
header?: never;
|
|
3241
|
+
path: {
|
|
3242
|
+
/** @description Listing ID. */
|
|
3243
|
+
listing_id: string;
|
|
3244
|
+
};
|
|
3245
|
+
cookie?: never;
|
|
3246
|
+
};
|
|
3247
|
+
requestBody: {
|
|
3248
|
+
content: {
|
|
3249
|
+
"application/json": components["schemas"]["SetDeliverablesRequest"];
|
|
3250
|
+
};
|
|
3251
|
+
};
|
|
3252
|
+
responses: {
|
|
3253
|
+
/** @description Successful Response */
|
|
3254
|
+
200: {
|
|
3255
|
+
headers: {
|
|
3256
|
+
[name: string]: unknown;
|
|
3257
|
+
};
|
|
3258
|
+
content: {
|
|
3259
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3260
|
+
};
|
|
3261
|
+
};
|
|
3262
|
+
/** @description Invalid or missing API key. */
|
|
3263
|
+
401: {
|
|
3264
|
+
headers: {
|
|
3265
|
+
[name: string]: unknown;
|
|
3266
|
+
};
|
|
3267
|
+
content: {
|
|
3268
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3269
|
+
};
|
|
3270
|
+
};
|
|
3271
|
+
/** @description Listing not found or not owned by this account. */
|
|
3272
|
+
404: {
|
|
3273
|
+
headers: {
|
|
3274
|
+
[name: string]: unknown;
|
|
3275
|
+
};
|
|
3276
|
+
content: {
|
|
3277
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3278
|
+
};
|
|
3279
|
+
};
|
|
3280
|
+
/** @description Listing is not in draft status. */
|
|
3281
|
+
409: {
|
|
3282
|
+
headers: {
|
|
3283
|
+
[name: string]: unknown;
|
|
3284
|
+
};
|
|
3285
|
+
content: {
|
|
3286
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3287
|
+
};
|
|
3288
|
+
};
|
|
3289
|
+
/** @description Validation error (too many, invalid token, etc). */
|
|
3290
|
+
422: {
|
|
3291
|
+
headers: {
|
|
3292
|
+
[name: string]: unknown;
|
|
3293
|
+
};
|
|
3294
|
+
content: {
|
|
3295
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3296
|
+
};
|
|
3297
|
+
};
|
|
3298
|
+
};
|
|
3299
|
+
};
|
|
3300
|
+
remove_deliverables: {
|
|
3301
|
+
parameters: {
|
|
3302
|
+
query?: never;
|
|
3303
|
+
header?: never;
|
|
3304
|
+
path: {
|
|
3305
|
+
/** @description Listing ID (lst_ prefixed). */
|
|
3306
|
+
listing_id: string;
|
|
3307
|
+
};
|
|
3308
|
+
cookie?: never;
|
|
3309
|
+
};
|
|
3310
|
+
requestBody?: never;
|
|
3311
|
+
responses: {
|
|
3312
|
+
/** @description Successful Response */
|
|
3313
|
+
200: {
|
|
3314
|
+
headers: {
|
|
3315
|
+
[name: string]: unknown;
|
|
3316
|
+
};
|
|
3317
|
+
content: {
|
|
3318
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3319
|
+
};
|
|
3320
|
+
};
|
|
3321
|
+
/** @description Invalid or missing API key. */
|
|
3322
|
+
401: {
|
|
3323
|
+
headers: {
|
|
3324
|
+
[name: string]: unknown;
|
|
3325
|
+
};
|
|
3326
|
+
content: {
|
|
3327
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3328
|
+
};
|
|
3329
|
+
};
|
|
3330
|
+
/** @description Listing not found. */
|
|
3331
|
+
404: {
|
|
3332
|
+
headers: {
|
|
3333
|
+
[name: string]: unknown;
|
|
3334
|
+
};
|
|
3335
|
+
content: {
|
|
3336
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3337
|
+
};
|
|
3338
|
+
};
|
|
3339
|
+
/** @description Listing is not in draft state. */
|
|
3340
|
+
409: {
|
|
3341
|
+
headers: {
|
|
3342
|
+
[name: string]: unknown;
|
|
3343
|
+
};
|
|
3344
|
+
content: {
|
|
3345
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3346
|
+
};
|
|
3347
|
+
};
|
|
3348
|
+
/** @description Validation Error */
|
|
3349
|
+
422: {
|
|
3350
|
+
headers: {
|
|
3351
|
+
[name: string]: unknown;
|
|
3352
|
+
};
|
|
3353
|
+
content: {
|
|
3354
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3355
|
+
};
|
|
3356
|
+
};
|
|
3357
|
+
};
|
|
3358
|
+
};
|
|
3359
|
+
publish_listing: {
|
|
3360
|
+
parameters: {
|
|
3361
|
+
query?: never;
|
|
3362
|
+
header?: never;
|
|
3363
|
+
path: {
|
|
3364
|
+
/** @description Listing ID (lst_ prefixed). */
|
|
3365
|
+
listing_id: string;
|
|
3366
|
+
};
|
|
3367
|
+
cookie?: never;
|
|
3368
|
+
};
|
|
3369
|
+
requestBody?: never;
|
|
3370
|
+
responses: {
|
|
3371
|
+
/** @description Successful Response */
|
|
3372
|
+
200: {
|
|
3373
|
+
headers: {
|
|
3374
|
+
[name: string]: unknown;
|
|
3375
|
+
};
|
|
3376
|
+
content: {
|
|
3377
|
+
"application/json": components["schemas"]["ListingResponse"];
|
|
3378
|
+
};
|
|
3379
|
+
};
|
|
3380
|
+
/** @description Invalid or missing API key. */
|
|
3381
|
+
401: {
|
|
3382
|
+
headers: {
|
|
3383
|
+
[name: string]: unknown;
|
|
3384
|
+
};
|
|
3385
|
+
content: {
|
|
3386
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3387
|
+
};
|
|
3388
|
+
};
|
|
3389
|
+
/** @description Listing not found. */
|
|
3390
|
+
404: {
|
|
3391
|
+
headers: {
|
|
3392
|
+
[name: string]: unknown;
|
|
3393
|
+
};
|
|
3394
|
+
content: {
|
|
3395
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3396
|
+
};
|
|
3397
|
+
};
|
|
3398
|
+
/** @description Publish requirements not met. */
|
|
3399
|
+
409: {
|
|
3400
|
+
headers: {
|
|
3401
|
+
[name: string]: unknown;
|
|
3402
|
+
};
|
|
3403
|
+
content: {
|
|
3404
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3405
|
+
};
|
|
3406
|
+
};
|
|
3407
|
+
/** @description Validation Error */
|
|
3408
|
+
422: {
|
|
3409
|
+
headers: {
|
|
3410
|
+
[name: string]: unknown;
|
|
3411
|
+
};
|
|
3412
|
+
content: {
|
|
3413
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3414
|
+
};
|
|
3415
|
+
};
|
|
3416
|
+
};
|
|
3417
|
+
};
|
|
3418
|
+
list_orders: {
|
|
3419
|
+
parameters: {
|
|
3420
|
+
query?: {
|
|
3421
|
+
/** @description Filter orders by status. */
|
|
3422
|
+
status?: components["schemas"]["OrderStatus"] | null;
|
|
3423
|
+
/** @description Filter by listing ID (lst_ prefixed). */
|
|
3424
|
+
listing?: string | null;
|
|
3425
|
+
/** @description Filter by exact buyer email address. */
|
|
3426
|
+
buyer_email?: string | null;
|
|
3427
|
+
/** @description Only orders created after this ISO 8601 datetime. */
|
|
3428
|
+
created_after?: string | null;
|
|
3429
|
+
/** @description Only orders created before this ISO 8601 datetime. */
|
|
3430
|
+
created_before?: string | null;
|
|
3431
|
+
/** @description Pagination cursor from a previous response. */
|
|
3432
|
+
cursor?: string | null;
|
|
3433
|
+
/** @description Maximum number of orders to return. */
|
|
3434
|
+
limit?: number;
|
|
3435
|
+
};
|
|
3436
|
+
header?: never;
|
|
3437
|
+
path?: never;
|
|
3438
|
+
cookie?: never;
|
|
3439
|
+
};
|
|
3440
|
+
requestBody?: never;
|
|
3441
|
+
responses: {
|
|
3442
|
+
/** @description Successful Response */
|
|
3443
|
+
200: {
|
|
3444
|
+
headers: {
|
|
3445
|
+
[name: string]: unknown;
|
|
3446
|
+
};
|
|
3447
|
+
content: {
|
|
3448
|
+
"application/json": components["schemas"]["OrderListResponse"];
|
|
3449
|
+
};
|
|
3450
|
+
};
|
|
3451
|
+
/** @description Invalid or missing API key. */
|
|
3452
|
+
401: {
|
|
3453
|
+
headers: {
|
|
3454
|
+
[name: string]: unknown;
|
|
3455
|
+
};
|
|
3456
|
+
content: {
|
|
3457
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3458
|
+
};
|
|
3459
|
+
};
|
|
3460
|
+
/** @description Validation Error */
|
|
3461
|
+
422: {
|
|
3462
|
+
headers: {
|
|
3463
|
+
[name: string]: unknown;
|
|
3464
|
+
};
|
|
3465
|
+
content: {
|
|
3466
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3467
|
+
};
|
|
3468
|
+
};
|
|
3469
|
+
};
|
|
3470
|
+
};
|
|
3471
|
+
get_order: {
|
|
3472
|
+
parameters: {
|
|
3473
|
+
query?: never;
|
|
3474
|
+
header?: never;
|
|
3475
|
+
path: {
|
|
3476
|
+
/** @description Order ID. */
|
|
3477
|
+
order_id: string;
|
|
3478
|
+
};
|
|
3479
|
+
cookie?: never;
|
|
3480
|
+
};
|
|
3481
|
+
requestBody?: never;
|
|
3482
|
+
responses: {
|
|
3483
|
+
/** @description Successful Response */
|
|
3484
|
+
200: {
|
|
3485
|
+
headers: {
|
|
3486
|
+
[name: string]: unknown;
|
|
3487
|
+
};
|
|
3488
|
+
content: {
|
|
3489
|
+
"application/json": components["schemas"]["OrderResponse"];
|
|
3490
|
+
};
|
|
3491
|
+
};
|
|
3492
|
+
/** @description Invalid or missing API key. */
|
|
3493
|
+
401: {
|
|
3494
|
+
headers: {
|
|
3495
|
+
[name: string]: unknown;
|
|
3496
|
+
};
|
|
3497
|
+
content: {
|
|
3498
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3499
|
+
};
|
|
3500
|
+
};
|
|
3501
|
+
/** @description Order not found. */
|
|
3502
|
+
404: {
|
|
3503
|
+
headers: {
|
|
3504
|
+
[name: string]: unknown;
|
|
3505
|
+
};
|
|
3506
|
+
content: {
|
|
3507
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3508
|
+
};
|
|
3509
|
+
};
|
|
3510
|
+
/** @description Validation Error */
|
|
3511
|
+
422: {
|
|
3512
|
+
headers: {
|
|
3513
|
+
[name: string]: unknown;
|
|
3514
|
+
};
|
|
3515
|
+
content: {
|
|
3516
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3517
|
+
};
|
|
3518
|
+
};
|
|
3519
|
+
};
|
|
3520
|
+
};
|
|
3521
|
+
refund_order: {
|
|
3522
|
+
parameters: {
|
|
3523
|
+
query?: never;
|
|
3524
|
+
header?: never;
|
|
3525
|
+
path: {
|
|
3526
|
+
/** @description Order ID. */
|
|
3527
|
+
order_id: string;
|
|
3528
|
+
};
|
|
3529
|
+
cookie?: never;
|
|
3530
|
+
};
|
|
3531
|
+
requestBody?: never;
|
|
3532
|
+
responses: {
|
|
3533
|
+
/** @description Successful Response */
|
|
3534
|
+
200: {
|
|
3535
|
+
headers: {
|
|
3536
|
+
[name: string]: unknown;
|
|
3537
|
+
};
|
|
3538
|
+
content: {
|
|
3539
|
+
"application/json": components["schemas"]["OrderResponse"];
|
|
3540
|
+
};
|
|
3541
|
+
};
|
|
3542
|
+
/** @description Invalid or missing API key. */
|
|
3543
|
+
401: {
|
|
3544
|
+
headers: {
|
|
3545
|
+
[name: string]: unknown;
|
|
3546
|
+
};
|
|
3547
|
+
content: {
|
|
3548
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3549
|
+
};
|
|
3550
|
+
};
|
|
3551
|
+
/** @description Order not found. */
|
|
3552
|
+
404: {
|
|
3553
|
+
headers: {
|
|
3554
|
+
[name: string]: unknown;
|
|
3555
|
+
};
|
|
3556
|
+
content: {
|
|
3557
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3558
|
+
};
|
|
3559
|
+
};
|
|
3560
|
+
/** @description Order cannot be refunded (wrong status or no payment intent). */
|
|
3561
|
+
422: {
|
|
3562
|
+
headers: {
|
|
3563
|
+
[name: string]: unknown;
|
|
3564
|
+
};
|
|
3565
|
+
content: {
|
|
3566
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3567
|
+
};
|
|
3568
|
+
};
|
|
3569
|
+
};
|
|
3570
|
+
};
|
|
3571
|
+
deliver_order: {
|
|
3572
|
+
parameters: {
|
|
3573
|
+
query?: never;
|
|
3574
|
+
header?: never;
|
|
3575
|
+
path: {
|
|
3576
|
+
/** @description Order ID. */
|
|
3577
|
+
order_id: string;
|
|
3578
|
+
};
|
|
3579
|
+
cookie?: never;
|
|
3580
|
+
};
|
|
3581
|
+
requestBody: {
|
|
3582
|
+
content: {
|
|
3583
|
+
"application/json": components["schemas"]["DeliverOrderRequest"];
|
|
3584
|
+
};
|
|
3585
|
+
};
|
|
3586
|
+
responses: {
|
|
3587
|
+
/** @description Successful Response */
|
|
3588
|
+
200: {
|
|
3589
|
+
headers: {
|
|
3590
|
+
[name: string]: unknown;
|
|
3591
|
+
};
|
|
3592
|
+
content: {
|
|
3593
|
+
"application/json": components["schemas"]["OrderResponse"];
|
|
3594
|
+
};
|
|
3595
|
+
};
|
|
3596
|
+
/** @description Invalid or missing API key. */
|
|
3597
|
+
401: {
|
|
3598
|
+
headers: {
|
|
3599
|
+
[name: string]: unknown;
|
|
3600
|
+
};
|
|
3601
|
+
content: {
|
|
3602
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3603
|
+
};
|
|
3604
|
+
};
|
|
3605
|
+
/** @description Order not found or not owned by this account. */
|
|
3606
|
+
404: {
|
|
3607
|
+
headers: {
|
|
3608
|
+
[name: string]: unknown;
|
|
3609
|
+
};
|
|
3610
|
+
content: {
|
|
3611
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3612
|
+
};
|
|
3613
|
+
};
|
|
3614
|
+
/** @description Order cannot be fulfilled. Possible reasons: order not in PAID state, listing uses managed fulfillment (auto-fulfilled on payment), or deliverable URL unreachable. */
|
|
3615
|
+
409: {
|
|
3616
|
+
headers: {
|
|
3617
|
+
[name: string]: unknown;
|
|
3618
|
+
};
|
|
3619
|
+
content: {
|
|
3620
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3621
|
+
};
|
|
3622
|
+
};
|
|
3623
|
+
/** @description Validation Error */
|
|
3624
|
+
422: {
|
|
3625
|
+
headers: {
|
|
3626
|
+
[name: string]: unknown;
|
|
3627
|
+
};
|
|
3628
|
+
content: {
|
|
3629
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3630
|
+
};
|
|
3631
|
+
};
|
|
3632
|
+
};
|
|
3633
|
+
};
|
|
3634
|
+
ship_order: {
|
|
3635
|
+
parameters: {
|
|
3636
|
+
query?: never;
|
|
3637
|
+
header?: never;
|
|
3638
|
+
path: {
|
|
3639
|
+
/** @description Order ID. */
|
|
3640
|
+
order_id: string;
|
|
3641
|
+
};
|
|
3642
|
+
cookie?: never;
|
|
3643
|
+
};
|
|
3644
|
+
requestBody: {
|
|
3645
|
+
content: {
|
|
3646
|
+
"application/json": components["schemas"]["ShipOrderRequest"];
|
|
3647
|
+
};
|
|
3648
|
+
};
|
|
3649
|
+
responses: {
|
|
3650
|
+
/** @description Successful Response */
|
|
3651
|
+
200: {
|
|
3652
|
+
headers: {
|
|
3653
|
+
[name: string]: unknown;
|
|
3654
|
+
};
|
|
3655
|
+
content: {
|
|
3656
|
+
"application/json": components["schemas"]["OrderResponse"];
|
|
3657
|
+
};
|
|
3658
|
+
};
|
|
3659
|
+
/** @description Invalid or missing API key. */
|
|
3660
|
+
401: {
|
|
3661
|
+
headers: {
|
|
3662
|
+
[name: string]: unknown;
|
|
3663
|
+
};
|
|
3664
|
+
content: {
|
|
3665
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3666
|
+
};
|
|
3667
|
+
};
|
|
3668
|
+
/** @description Order not found or not owned by this account. */
|
|
3669
|
+
404: {
|
|
3670
|
+
headers: {
|
|
3671
|
+
[name: string]: unknown;
|
|
3672
|
+
};
|
|
3673
|
+
content: {
|
|
3674
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3675
|
+
};
|
|
3676
|
+
};
|
|
3677
|
+
/** @description Order cannot be shipped. Possible reasons: order not in PAID state, or listing uses managed fulfillment. */
|
|
3678
|
+
409: {
|
|
3679
|
+
headers: {
|
|
3680
|
+
[name: string]: unknown;
|
|
3681
|
+
};
|
|
3682
|
+
content: {
|
|
3683
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3684
|
+
};
|
|
3685
|
+
};
|
|
3686
|
+
/** @description Validation Error */
|
|
3687
|
+
422: {
|
|
3688
|
+
headers: {
|
|
3689
|
+
[name: string]: unknown;
|
|
3690
|
+
};
|
|
3691
|
+
content: {
|
|
3692
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3693
|
+
};
|
|
3694
|
+
};
|
|
3695
|
+
};
|
|
3696
|
+
};
|
|
3697
|
+
start_stripe_connect: {
|
|
3698
|
+
parameters: {
|
|
3699
|
+
query?: never;
|
|
3700
|
+
header?: never;
|
|
3701
|
+
path?: never;
|
|
3702
|
+
cookie?: never;
|
|
3703
|
+
};
|
|
3704
|
+
requestBody?: never;
|
|
3705
|
+
responses: {
|
|
3706
|
+
/** @description Successful Response */
|
|
3707
|
+
200: {
|
|
3708
|
+
headers: {
|
|
3709
|
+
[name: string]: unknown;
|
|
3710
|
+
};
|
|
3711
|
+
content: {
|
|
3712
|
+
"application/json": components["schemas"]["StripeConnectSessionResponse"];
|
|
3713
|
+
};
|
|
3714
|
+
};
|
|
3715
|
+
/** @description Invalid or missing API key. */
|
|
3716
|
+
401: {
|
|
3717
|
+
headers: {
|
|
3718
|
+
[name: string]: unknown;
|
|
3719
|
+
};
|
|
3720
|
+
content: {
|
|
3721
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3722
|
+
};
|
|
3723
|
+
};
|
|
3724
|
+
};
|
|
3725
|
+
};
|
|
3726
|
+
disconnect_stripe: {
|
|
3727
|
+
parameters: {
|
|
3728
|
+
query?: never;
|
|
3729
|
+
header?: never;
|
|
3730
|
+
path?: never;
|
|
3731
|
+
cookie?: never;
|
|
3732
|
+
};
|
|
3733
|
+
requestBody?: never;
|
|
3734
|
+
responses: {
|
|
3735
|
+
/** @description Successful Response */
|
|
3736
|
+
200: {
|
|
3737
|
+
headers: {
|
|
3738
|
+
[name: string]: unknown;
|
|
3739
|
+
};
|
|
3740
|
+
content: {
|
|
3741
|
+
"application/json": {
|
|
3742
|
+
[key: string]: unknown;
|
|
3743
|
+
};
|
|
3744
|
+
};
|
|
3745
|
+
};
|
|
3746
|
+
/** @description Invalid or missing API key. */
|
|
3747
|
+
401: {
|
|
3748
|
+
headers: {
|
|
3749
|
+
[name: string]: unknown;
|
|
3750
|
+
};
|
|
3751
|
+
content: {
|
|
3752
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3753
|
+
};
|
|
3754
|
+
};
|
|
3755
|
+
};
|
|
3756
|
+
};
|
|
3757
|
+
list_webhooks: {
|
|
3758
|
+
parameters: {
|
|
3759
|
+
query?: never;
|
|
3760
|
+
header?: never;
|
|
3761
|
+
path?: never;
|
|
3762
|
+
cookie?: never;
|
|
3763
|
+
};
|
|
3764
|
+
requestBody?: never;
|
|
3765
|
+
responses: {
|
|
3766
|
+
/** @description Successful Response */
|
|
3767
|
+
200: {
|
|
3768
|
+
headers: {
|
|
3769
|
+
[name: string]: unknown;
|
|
3770
|
+
};
|
|
3771
|
+
content: {
|
|
3772
|
+
"application/json": components["schemas"]["WebhookListResponse"];
|
|
3773
|
+
};
|
|
3774
|
+
};
|
|
3775
|
+
/** @description Invalid or missing API key. */
|
|
3776
|
+
401: {
|
|
3777
|
+
headers: {
|
|
3778
|
+
[name: string]: unknown;
|
|
3779
|
+
};
|
|
3780
|
+
content: {
|
|
3781
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3782
|
+
};
|
|
3783
|
+
};
|
|
3784
|
+
};
|
|
3785
|
+
};
|
|
3786
|
+
create_webhook: {
|
|
3787
|
+
parameters: {
|
|
3788
|
+
query?: never;
|
|
3789
|
+
header?: never;
|
|
3790
|
+
path?: never;
|
|
3791
|
+
cookie?: never;
|
|
3792
|
+
};
|
|
3793
|
+
requestBody: {
|
|
3794
|
+
content: {
|
|
3795
|
+
"application/json": components["schemas"]["CreateWebhookRequest"];
|
|
3796
|
+
};
|
|
3797
|
+
};
|
|
3798
|
+
responses: {
|
|
3799
|
+
/** @description Successful Response */
|
|
3800
|
+
201: {
|
|
3801
|
+
headers: {
|
|
3802
|
+
[name: string]: unknown;
|
|
3803
|
+
};
|
|
3804
|
+
content: {
|
|
3805
|
+
"application/json": components["schemas"]["WebhookResponse"];
|
|
3806
|
+
};
|
|
3807
|
+
};
|
|
3808
|
+
/** @description Invalid or missing API key. */
|
|
3809
|
+
401: {
|
|
3810
|
+
headers: {
|
|
3811
|
+
[name: string]: unknown;
|
|
3812
|
+
};
|
|
3813
|
+
content: {
|
|
3814
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3815
|
+
};
|
|
3816
|
+
};
|
|
3817
|
+
/** @description Validation error. */
|
|
3818
|
+
422: {
|
|
3819
|
+
headers: {
|
|
3820
|
+
[name: string]: unknown;
|
|
3821
|
+
};
|
|
3822
|
+
content: {
|
|
3823
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3824
|
+
};
|
|
3825
|
+
};
|
|
3826
|
+
};
|
|
3827
|
+
};
|
|
3828
|
+
update_webhook: {
|
|
3829
|
+
parameters: {
|
|
3830
|
+
query?: never;
|
|
3831
|
+
header?: never;
|
|
3832
|
+
path: {
|
|
3833
|
+
/** @description Webhook endpoint ID. */
|
|
3834
|
+
webhook_id: string;
|
|
3835
|
+
};
|
|
3836
|
+
cookie?: never;
|
|
3837
|
+
};
|
|
3838
|
+
requestBody: {
|
|
3839
|
+
content: {
|
|
3840
|
+
"application/json": components["schemas"]["UpdateWebhookRequest"];
|
|
3841
|
+
};
|
|
3842
|
+
};
|
|
3843
|
+
responses: {
|
|
3844
|
+
/** @description Successful Response */
|
|
3845
|
+
200: {
|
|
3846
|
+
headers: {
|
|
3847
|
+
[name: string]: unknown;
|
|
3848
|
+
};
|
|
3849
|
+
content: {
|
|
3850
|
+
"application/json": components["schemas"]["WebhookResponse"];
|
|
3851
|
+
};
|
|
3852
|
+
};
|
|
3853
|
+
/** @description Invalid or missing API key. */
|
|
3854
|
+
401: {
|
|
3855
|
+
headers: {
|
|
3856
|
+
[name: string]: unknown;
|
|
3857
|
+
};
|
|
3858
|
+
content: {
|
|
3859
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3860
|
+
};
|
|
3861
|
+
};
|
|
3862
|
+
/** @description Webhook not found. */
|
|
3863
|
+
404: {
|
|
3864
|
+
headers: {
|
|
3865
|
+
[name: string]: unknown;
|
|
3866
|
+
};
|
|
3867
|
+
content: {
|
|
3868
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3869
|
+
};
|
|
3870
|
+
};
|
|
3871
|
+
/** @description Validation error. */
|
|
3872
|
+
422: {
|
|
3873
|
+
headers: {
|
|
3874
|
+
[name: string]: unknown;
|
|
3875
|
+
};
|
|
3876
|
+
content: {
|
|
3877
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3878
|
+
};
|
|
3879
|
+
};
|
|
3880
|
+
};
|
|
3881
|
+
};
|
|
3882
|
+
delete_webhook: {
|
|
3883
|
+
parameters: {
|
|
3884
|
+
query?: never;
|
|
3885
|
+
header?: never;
|
|
3886
|
+
path: {
|
|
3887
|
+
/** @description Webhook endpoint ID. */
|
|
3888
|
+
webhook_id: string;
|
|
3889
|
+
};
|
|
3890
|
+
cookie?: never;
|
|
3891
|
+
};
|
|
3892
|
+
requestBody?: never;
|
|
3893
|
+
responses: {
|
|
3894
|
+
/** @description Successful Response */
|
|
3895
|
+
204: {
|
|
3896
|
+
headers: {
|
|
3897
|
+
[name: string]: unknown;
|
|
3898
|
+
};
|
|
3899
|
+
content?: never;
|
|
3900
|
+
};
|
|
3901
|
+
/** @description Invalid or missing API key. */
|
|
3902
|
+
401: {
|
|
3903
|
+
headers: {
|
|
3904
|
+
[name: string]: unknown;
|
|
3905
|
+
};
|
|
3906
|
+
content: {
|
|
3907
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3908
|
+
};
|
|
3909
|
+
};
|
|
3910
|
+
/** @description Webhook not found. */
|
|
3911
|
+
404: {
|
|
3912
|
+
headers: {
|
|
3913
|
+
[name: string]: unknown;
|
|
3914
|
+
};
|
|
3915
|
+
content: {
|
|
3916
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3917
|
+
};
|
|
3918
|
+
};
|
|
3919
|
+
/** @description Validation Error */
|
|
3920
|
+
422: {
|
|
3921
|
+
headers: {
|
|
3922
|
+
[name: string]: unknown;
|
|
3923
|
+
};
|
|
3924
|
+
content: {
|
|
3925
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3926
|
+
};
|
|
3927
|
+
};
|
|
3928
|
+
};
|
|
3929
|
+
};
|
|
3930
|
+
list_webhook_events: {
|
|
3931
|
+
parameters: {
|
|
3932
|
+
query?: {
|
|
3933
|
+
/** @description Filter by delivery status. `true` for delivered, `false` for pending/failed. */
|
|
3934
|
+
delivered?: boolean | null;
|
|
3935
|
+
/** @description Pagination cursor from a previous response. */
|
|
3936
|
+
cursor?: string | null;
|
|
3937
|
+
/** @description Maximum number of events to return. */
|
|
3938
|
+
limit?: number;
|
|
3939
|
+
};
|
|
3940
|
+
header?: never;
|
|
3941
|
+
path: {
|
|
3942
|
+
/** @description Webhook endpoint ID. */
|
|
3943
|
+
webhook_id: string;
|
|
3944
|
+
};
|
|
3945
|
+
cookie?: never;
|
|
3946
|
+
};
|
|
3947
|
+
requestBody?: never;
|
|
3948
|
+
responses: {
|
|
3949
|
+
/** @description Successful Response */
|
|
3950
|
+
200: {
|
|
3951
|
+
headers: {
|
|
3952
|
+
[name: string]: unknown;
|
|
3953
|
+
};
|
|
3954
|
+
content: {
|
|
3955
|
+
"application/json": components["schemas"]["WebhookEventListResponse"];
|
|
3956
|
+
};
|
|
3957
|
+
};
|
|
3958
|
+
/** @description Invalid or missing API key. */
|
|
3959
|
+
401: {
|
|
3960
|
+
headers: {
|
|
3961
|
+
[name: string]: unknown;
|
|
3962
|
+
};
|
|
3963
|
+
content: {
|
|
3964
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3965
|
+
};
|
|
3966
|
+
};
|
|
3967
|
+
/** @description Webhook not found. */
|
|
3968
|
+
404: {
|
|
3969
|
+
headers: {
|
|
3970
|
+
[name: string]: unknown;
|
|
3971
|
+
};
|
|
3972
|
+
content: {
|
|
3973
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
3974
|
+
};
|
|
3975
|
+
};
|
|
3976
|
+
/** @description Validation Error */
|
|
3977
|
+
422: {
|
|
3978
|
+
headers: {
|
|
3979
|
+
[name: string]: unknown;
|
|
3980
|
+
};
|
|
3981
|
+
content: {
|
|
3982
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3983
|
+
};
|
|
3984
|
+
};
|
|
3985
|
+
};
|
|
3986
|
+
};
|
|
3987
|
+
retry_webhook_event: {
|
|
3988
|
+
parameters: {
|
|
3989
|
+
query?: never;
|
|
3990
|
+
header?: never;
|
|
3991
|
+
path: {
|
|
3992
|
+
/** @description Webhook endpoint ID. */
|
|
3993
|
+
webhook_id: string;
|
|
3994
|
+
/** @description Webhook event ID. */
|
|
3995
|
+
event_id: string;
|
|
3996
|
+
};
|
|
3997
|
+
cookie?: never;
|
|
3998
|
+
};
|
|
3999
|
+
requestBody?: never;
|
|
4000
|
+
responses: {
|
|
4001
|
+
/** @description Successful Response */
|
|
4002
|
+
200: {
|
|
4003
|
+
headers: {
|
|
4004
|
+
[name: string]: unknown;
|
|
4005
|
+
};
|
|
4006
|
+
content: {
|
|
4007
|
+
"application/json": components["schemas"]["WebhookEventResponse"];
|
|
4008
|
+
};
|
|
4009
|
+
};
|
|
4010
|
+
/** @description Invalid or missing API key. */
|
|
4011
|
+
401: {
|
|
4012
|
+
headers: {
|
|
4013
|
+
[name: string]: unknown;
|
|
4014
|
+
};
|
|
4015
|
+
content: {
|
|
4016
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
4017
|
+
};
|
|
4018
|
+
};
|
|
4019
|
+
/** @description Webhook or event not found. */
|
|
4020
|
+
404: {
|
|
4021
|
+
headers: {
|
|
4022
|
+
[name: string]: unknown;
|
|
4023
|
+
};
|
|
4024
|
+
content: {
|
|
4025
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
4026
|
+
};
|
|
4027
|
+
};
|
|
4028
|
+
/** @description Validation Error */
|
|
4029
|
+
422: {
|
|
4030
|
+
headers: {
|
|
4031
|
+
[name: string]: unknown;
|
|
4032
|
+
};
|
|
4033
|
+
content: {
|
|
4034
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
4035
|
+
};
|
|
4036
|
+
};
|
|
4037
|
+
};
|
|
4038
|
+
};
|
|
4039
|
+
test_webhook: {
|
|
4040
|
+
parameters: {
|
|
4041
|
+
query?: never;
|
|
4042
|
+
header?: never;
|
|
4043
|
+
path: {
|
|
4044
|
+
/** @description Webhook endpoint ID. */
|
|
4045
|
+
webhook_id: string;
|
|
4046
|
+
};
|
|
4047
|
+
cookie?: never;
|
|
4048
|
+
};
|
|
4049
|
+
requestBody?: never;
|
|
4050
|
+
responses: {
|
|
4051
|
+
/** @description Successful Response */
|
|
4052
|
+
200: {
|
|
4053
|
+
headers: {
|
|
4054
|
+
[name: string]: unknown;
|
|
4055
|
+
};
|
|
4056
|
+
content: {
|
|
4057
|
+
"application/json": components["schemas"]["WebhookTestResponse"];
|
|
4058
|
+
};
|
|
4059
|
+
};
|
|
4060
|
+
/** @description Invalid or missing API key. */
|
|
4061
|
+
401: {
|
|
4062
|
+
headers: {
|
|
4063
|
+
[name: string]: unknown;
|
|
4064
|
+
};
|
|
4065
|
+
content: {
|
|
4066
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
4067
|
+
};
|
|
4068
|
+
};
|
|
4069
|
+
/** @description Webhook not found. */
|
|
4070
|
+
404: {
|
|
4071
|
+
headers: {
|
|
4072
|
+
[name: string]: unknown;
|
|
4073
|
+
};
|
|
4074
|
+
content: {
|
|
4075
|
+
"application/json": components["schemas"]["ProblemDetail"];
|
|
4076
|
+
};
|
|
4077
|
+
};
|
|
4078
|
+
/** @description Validation Error */
|
|
4079
|
+
422: {
|
|
4080
|
+
headers: {
|
|
4081
|
+
[name: string]: unknown;
|
|
4082
|
+
};
|
|
4083
|
+
content: {
|
|
4084
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
4085
|
+
};
|
|
4086
|
+
};
|
|
4087
|
+
};
|
|
4088
|
+
};
|
|
4089
|
+
}
|