listbee-mcp 0.13.0 → 0.15.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=listbee&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22listbee-mcp%22%5D%2C%22env%22%3A%7B%22LISTBEE_API_KEY%22%3A%22%24%7Binput%3AapiKey%7D%22%7D%7D)
4
4
 
5
- MCP server for ListBee — commerce API for AI agents.
5
+ MCP server for ListBee — commerce API for AI agents. 20 tools.
6
6
 
7
7
  ---
8
8
 
@@ -16,26 +16,46 @@ MCP server for ListBee — commerce API for AI agents.
16
16
 
17
17
  ## Golden Path
18
18
 
19
- Four calls to go from zero to a live, selling product page:
19
+ Three calls to go from zero to a live, selling product page:
20
20
 
21
21
  ```
22
- create_listing → set_deliverables → get_listing → publish_listing
23
- name, price file/url/text check status go live
22
+ create_listing → get_listing → publish_listing
23
+ name, price check status go live
24
24
  ```
25
25
 
26
- **1. Create**
26
+ **1. Create** — set `deliverable` for managed auto-delivery, or `agent_callback_url` for async agent fulfillment
27
27
  ```json
28
- { "name": "50 Cold Outreach Templates", "price": 1900 }
28
+ {
29
+ "name": "50 Cold Outreach Templates",
30
+ "price": 1900,
31
+ "deliverable": { "type": "url", "value": "https://cdn.example.com/templates.zip" }
32
+ }
29
33
  ```
30
34
 
31
- **2. Set deliverables** — attach what buyers receive after payment
32
- ```json
33
- { "deliverables": [{ "type": "url", "value": "https://...", "label": "Download" }] }
35
+ **2. Inspect readiness** — `get_listing` tells you what's missing and how to fix it
36
+
37
+ **3. Publish** `publish_listing` makes the product page live
38
+
39
+ ---
40
+
41
+ ## Bootstrap (no API key)
42
+
43
+ Don't have a ListBee account yet? Start the MCP server without a key — it exposes bootstrap tools for account creation:
44
+
45
+ ```
46
+ bootstrap_start → bootstrap_verify
47
+ send OTP email verify 6-digit → get API key + Stripe onboarding URL
34
48
  ```
35
49
 
36
- **3. Inspect readiness** — `get_listing` tells you what's missing and how to fix it
50
+ ```bash
51
+ npx -y listbee-mcp # no --api-key needed
52
+ ```
53
+
54
+ `bootstrap_verify` returns `{ account_id, api_key, stripe_onboarding_url }`. Store the key immediately, then restart the MCP session with `--api-key lb_...` to unlock all tools.
37
55
 
38
- **4. Publish** `publish_listing` makes the product page live
56
+ After restarting with the key, call `bootstrap_poll` to check whether Stripe Connect onboarding is complete before creating listings.
57
+
58
+ For the HTTP transport, sessions initialized without a `Bearer` header are automatically bootstrap-only. After bootstrap, open a new session with the key to access the full tool set.
39
59
 
40
60
  ---
41
61
 
@@ -131,7 +151,7 @@ docker run -p 8080:8080 listbee-mcp
131
151
 
132
152
  | Flag | Env var | Default | Description |
133
153
  |------|---------|---------|-------------|
134
- | `--api-key <key>` | `LISTBEE_API_KEY` | — | ListBee API key (required for stdio) |
154
+ | `--api-key <key>` | `LISTBEE_API_KEY` | — | ListBee API key. Optional omit to start in bootstrap-only mode. |
135
155
  | `--base-url <url>` | `LISTBEE_BASE_URL` | `https://api.listbee.so` | API base URL |
136
156
  | `--transport <stdio\|http>` | — | `stdio` | Transport mode |
137
157
  | `--port <number>` | `PORT` | `8080` | HTTP port (http mode only) |
@@ -148,25 +168,31 @@ npx -y listbee-mcp --api-key lb_... --tools create_listing,get_listing,publish_l
148
168
 
149
169
  ## Tools
150
170
 
171
+ ### Bootstrap (no API key required for start + verify)
172
+
173
+ | Tool | Description |
174
+ |------|-------------|
175
+ | `bootstrap_start` | Send a one-time passcode to an email address. Step 1 of 2 for account creation. |
176
+ | `bootstrap_verify` | Verify the OTP from email. Issues the API key and Stripe onboarding URL. Step 2 of 2. Store the key immediately. |
177
+ | `bootstrap_poll` | Poll Stripe Connect onboarding readiness. Returns `ready=true` once charges are enabled. Requires API key. |
178
+
151
179
  ### Account
152
180
 
153
181
  | Tool | Description |
154
182
  |------|-------------|
155
183
  | `get_account` | Get the account's full state including readiness and billing status. |
156
- | `update_account` | Update account-level settings (GA tracking, notification preferences). |
184
+ | `update_account` | Update account-level settings (display name, bio, avatar, GA tracking, events callback URL). |
157
185
  | `delete_account` | Permanently delete the account and all data. Irreversible. |
158
186
 
159
187
  ### Listings
160
188
 
161
189
  | Tool | Description |
162
190
  |------|-------------|
163
- | `create_listing` | Create a new listing for sale. Returns checkout URL and readiness. |
191
+ | `create_listing` | Create a new listing for sale. Set `deliverable` for managed delivery or `agent_callback_url` for async agent fulfillment. Returns checkout URL and readiness. |
164
192
  | `get_listing` | Get full listing state including readiness. Call after every change. |
165
- | `update_listing` | Update title, price, or other listing details. |
193
+ | `update_listing` | Update title, price, deliverable, or other listing details. |
166
194
  | `list_listings` | List all listings for the current account. |
167
195
  | `publish_listing` | Publish a listing so buyers can access the product page. |
168
- | `set_deliverables` | Attach digital content (file, URL, or text) for automatic delivery. |
169
- | `remove_deliverables` | Remove deliverables to switch to external fulfillment. Draft only. |
170
196
  | `delete_listing` | Permanently delete a listing. |
171
197
 
172
198
  ### Orders
@@ -174,41 +200,23 @@ npx -y listbee-mcp --api-key lb_... --tools create_listing,get_listing,publish_l
174
200
  | Tool | Description |
175
201
  |------|-------------|
176
202
  | `list_orders` | See all sales and order status. |
177
- | `get_order` | Get full order details including buyer info and payment. |
178
- | `fulfill_order` | Push digital content to a buyer or mark as fulfilled (external fulfillment). |
203
+ | `get_order` | Get full order details including buyer info, payment, and unlock URL. |
204
+ | `fulfill_order` | Push a deliverable to a buyer or mark as fulfilled (external fulfillment). Accepts optional `metadata`. |
179
205
  | `refund_order` | Issue a full refund for an order through Stripe. |
206
+ | `order_redeliver` | Re-queue `order.paid` / `order.fulfilled` to the listing's `agent_callback_url`. Rate-limited: 10/hour/order. |
180
207
 
181
- ### Customers
182
-
183
- | Tool | Description |
184
- |------|-------------|
185
- | `list_customers` | List all buyers who have purchased. Auto-populated from orders. |
186
- | `get_customer` | Get a customer by ID — total orders, total spent, purchase history. |
187
-
188
- ### Webhooks
208
+ ### Stripe
189
209
 
190
210
  | Tool | Description |
191
211
  |------|-------------|
192
- | `create_webhook` | Create a webhook endpoint. Returns a `whsec_` secret for signature verification. |
193
- | `list_webhooks` | List all webhook endpoints for the account. |
194
- | `update_webhook` | Update a webhook URL or event filter. |
195
- | `delete_webhook` | Delete a webhook endpoint. Irreversible. |
196
- | `test_webhook` | Send a test event to verify webhook configuration before going live. |
197
- | `list_webhook_events` | List recent events for a webhook — delivery status, attempts, errors. |
198
- | `retry_webhook_event` | Retry delivery of a failed webhook event. |
212
+ | `start_stripe_connect` | Start Stripe Connect onboarding. Returns a URL the human must open it in a browser. |
213
+ | `disconnect_stripe` | Disconnect the Stripe account from ListBee. |
199
214
 
200
- ### Files
215
+ ### API Keys
201
216
 
202
217
  | Tool | Description |
203
218
  |------|-------------|
204
- | `upload_file` | Upload a file to ListBee. Accepts a `purpose` parameter: `deliverable` (default, listing content), `cover` (listing image), or `avatar` (account avatar). Returns a file token to use in `set_deliverables`, `create_listing`/`update_listing` (as `cover`), or `update_account` (as `avatar`). |
205
-
206
- ### Stripe
207
-
208
- | Tool | Description |
209
- |------|-------------|
210
- | `start_stripe_connect` | Start Stripe Connect onboarding. Returns a URL — the human must open it in a browser. |
211
- | `disconnect_stripe` | Disconnect the Stripe account from ListBee. |
219
+ | `api_key_self_revoke` | Self-revoke the API key used to authenticate this call. Idempotent. Use when credential is compromised. |
212
220
 
213
221
  ---
214
222
 
@@ -246,12 +254,21 @@ Every listing response includes a `readiness` object that tells you exactly what
246
254
  - `human` actions: requires human input (show the `message` and `url`)
247
255
  - `readiness.next` — the highest-priority action code to resolve first
248
256
 
249
- **Canonical action codes:** `connect_stripe`, `enable_charges`, `update_billing`, `configure_webhook`, `publish_listing`, `webhook_disabled`
250
-
251
257
  **The pattern:** `create_listing` → `get_listing` → resolve each `api` action → surface `human` actions to the user → `publish_listing` when `publishable` is `true`.
252
258
 
253
259
  ---
254
260
 
261
+ ## Fulfillment Modes
262
+
263
+ ListBee supports two fulfillment modes, set at listing creation:
264
+
265
+ - **Managed (`STATIC`)** — set `deliverable` on the listing. ListBee auto-delivers the content to buyers on payment via an unlock page and email.
266
+ - **Async agent (`ASYNC`)** — set `agent_callback_url` on the listing. ListBee fires a webhook to your agent on payment; your agent calls `fulfill_order` with the generated content.
267
+
268
+ For `ASYNC` mode, use `order_redeliver` if your callback handler missed an event.
269
+
270
+ ---
271
+
255
272
  ## Debugging
256
273
 
257
274
  Use [MCP Inspector](https://github.com/modelcontextprotocol/inspector) for interactive testing:
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAgSzC,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2NzC,CAAC"}
@@ -2,24 +2,62 @@
2
2
  // source: openapi.json + mcp-tools.yaml
3
3
  // Regenerate with: npm run generate
4
4
  // openapi_version: 1.0.0
5
- // generated_at: 2026-04-16T20:02:29.090Z
6
- // sha256: bab75a380c74083f72fd69bf8f031a39c1d38fc60efab07e66655a8b1a360bd5
5
+ // generated_at: 2026-04-18T10:53:29.109Z
6
+ // sha256: e2bc15e333a33e57794095fab1d4c50a4ee45c303d9e25b9157118831742f755
7
7
  export const meta = {
8
- create_listing: {
9
- operationId: "create_listing",
8
+ api_key_self_revoke: {
9
+ operationId: "api_key_self_revoke",
10
10
  method: "POST",
11
- path: "/v1/listings",
12
- description: "Create a new listing for sale. Returns a checkout URL and readiness status. Only name and price are required — but listings with rich content convert significantly better. Fill in as many fields as you can: description, tagline, highlights, badges, reviews, faqs, cta, cover_url. Write salesy, compelling copy. The product page buyers see is built entirely from these fields. Fulfillment is implicit: attach deliverables for auto-delivery, set fulfillment_url for agent callback, or handle via webhooks. No content_type field needed.",
11
+ path: "/v1/api-keys/self-revoke",
12
+ description: "Self-revokes the API key in the Authorization header. Does not list or affect other keys on the account. Idempotent already-revoked keys return 200. No rate limit.",
13
+ annotations: {
14
+ destructiveHint: true,
15
+ idempotentHint: true,
16
+ openWorldHint: false,
17
+ readOnlyHint: false,
18
+ },
19
+ },
20
+ bootstrap_poll: {
21
+ operationId: "bootstrap_poll",
22
+ method: "GET",
23
+ path: "/v1/bootstrap/{account_id}",
24
+ description: "Polling endpoint. Returns ready=true once charges_enabled; actions[] surfaces what's still blocking. Poll every 30 seconds after handing the Stripe onboarding URL to the human. Give up after 15 minutes.",
13
25
  annotations: {
14
26
  destructiveHint: false,
27
+ idempotentHint: true,
28
+ openWorldHint: false,
29
+ readOnlyHint: true,
30
+ },
31
+ },
32
+ bootstrap_start: {
33
+ operationId: "bootstrap_start",
34
+ method: "POST",
35
+ path: "/v1/bootstrap/start",
36
+ description: "Step 1 of 2. Emails an OTP and returns a single-use bootstrap_token plus the account_id. Token TTL 10 min. Flow: bootstrap_start → bootstrap_verify. No API key required.",
37
+ annotations: {
38
+ destructiveHint: false,
39
+ idempotentHint: false,
40
+ openWorldHint: false,
41
+ readOnlyHint: false,
42
+ },
43
+ },
44
+ bootstrap_verify: {
45
+ operationId: "bootstrap_verify",
46
+ method: "POST",
47
+ path: "/v1/bootstrap/verify",
48
+ description: "Step 2 of 2. Verifies the OTP, issues the first API key (shown once — store immediately), and returns Stripe onboarding URL. Hand the Stripe URL to the human; poll bootstrap_poll until ready.",
49
+ annotations: {
50
+ destructiveHint: false,
51
+ idempotentHint: false,
52
+ openWorldHint: false,
15
53
  readOnlyHint: false,
16
54
  },
17
55
  },
18
- create_webhook: {
19
- operationId: "create_webhook",
56
+ create_listing: {
57
+ operationId: "create_listing",
20
58
  method: "POST",
21
- path: "/v1/webhooks",
22
- description: "Create a webhook endpoint. Specify the URL and which events to receive. The webhook secret (whsec_ prefixed) is returned for signature verification.",
59
+ path: "/v1/listings",
60
+ description: "Create a new listing for sale. Returns a checkout URL and readiness status. Only name and price are required — but listings with rich content convert significantly better. Fill in as many fields as you can: description, tagline, highlights, badges, reviews, faqs, cta, cover_url. Write salesy, compelling copy. The product page buyers see is built entirely from these fields. Fulfillment mode is determined automatically: set deliverable for managed auto-delivery (STATIC), or set agent_callback_url for async agent-driven fulfillment (ASYNC). No content_type field needed. signing_secret is optional auto-generated if omitted (use it to verify callback payloads from this listing). metadata accepts a free-form dict (max 50 keys; key ≤ 40 chars, value ≤ 500 chars — Stripe-aligned limits).",
23
61
  annotations: {
24
62
  destructiveHint: false,
25
63
  readOnlyHint: false,
@@ -45,16 +83,6 @@ export const meta = {
45
83
  readOnlyHint: false,
46
84
  },
47
85
  },
48
- delete_webhook: {
49
- operationId: "delete_webhook",
50
- method: "DELETE",
51
- path: "/v1/webhooks/{webhook_id}",
52
- description: "Permanently delete a webhook endpoint. This is irreversible — the webhook and its delivery history cannot be recovered.",
53
- annotations: {
54
- destructiveHint: true,
55
- readOnlyHint: false,
56
- },
57
- },
58
86
  disconnect_stripe: {
59
87
  operationId: "disconnect_stripe",
60
88
  method: "DELETE",
@@ -69,7 +97,7 @@ export const meta = {
69
97
  operationId: "fulfill_order",
70
98
  method: "POST",
71
99
  path: "/v1/orders/{order_id}/fulfill",
72
- description: "Fulfill an order. Include deliverables (file/url/text) to deliver digital content via ListBee creates an access grant and emails the buyer. Omit deliverables to mark the order as complete without delivering content (for externally fulfilled orders).",
100
+ description: "Mark a paid order as fulfilled by providing the deliverable content (single URL or Markdown text). The deliverable is delivered to the buyer via the unlock page and, if configured, the agent_callback_url webhook payload. Omit deliverable to mark the order as complete without delivering content (for externally fulfilled orders). metadata accepts a free-form dict (max 50 keys; key ≤ 40 chars, value ≤ 500 chars) — useful for correlating agent work (e.g. job_id, generation_run, delivery_ref).",
73
101
  annotations: {
74
102
  destructiveHint: false,
75
103
  readOnlyHint: false,
@@ -79,18 +107,7 @@ export const meta = {
79
107
  operationId: "get_account",
80
108
  method: "GET",
81
109
  path: "/v1/account",
82
- description: "Get the authenticated account's full state including readiness and billing status. This is the first call an agent should make to understand what's set up.",
83
- annotations: {
84
- destructiveHint: false,
85
- idempotentHint: true,
86
- readOnlyHint: true,
87
- },
88
- },
89
- get_customer: {
90
- operationId: "get_customer",
91
- method: "GET",
92
- path: "/v1/customers/{customer_id}",
93
- description: "Get a customer by ID. Shows total orders, total spent, currency, and purchase dates. Customers represent unique buyer emails that have purchased from the seller.",
110
+ description: "Returns account profile, stats, and operational readiness. readiness.operational is false until all required actions are resolved. Each action in readiness.actions has: code what's needed (e.g. connect_stripe) kind — \"api\" (you can fix it) or \"human\" (user must act) resolve — exactly how to fix it (method + endpoint or URL) docs — documentation link for this action readiness.next is the highest-priority action code — resolve it first.",
94
111
  annotations: {
95
112
  destructiveHint: false,
96
113
  idempotentHint: true,
@@ -101,7 +118,7 @@ export const meta = {
101
118
  operationId: "get_listing",
102
119
  method: "GET",
103
120
  path: "/v1/listings/{listing_id}",
104
- description: "Get a listing's full state including readiness. This is the readiness inspection tool — call it after every change to check what's needed.",
121
+ description: "Get a listing's full state including readiness. This is the readiness inspection tool — call it after every change to check what's needed. readiness.sellable is true when the listing can accept purchases. If false, readiness.actions tells you what's missing and how to fix each item.",
105
122
  annotations: {
106
123
  destructiveHint: false,
107
124
  idempotentHint: true,
@@ -119,17 +136,6 @@ export const meta = {
119
136
  readOnlyHint: true,
120
137
  },
121
138
  },
122
- list_customers: {
123
- operationId: "list_customers",
124
- method: "GET",
125
- path: "/v1/customers",
126
- description: "List all customers (buyers) who have purchased from the seller. Auto-populated from orders — no manual creation needed. Sorted by most recent purchase first. Filter by email for exact match lookup.",
127
- annotations: {
128
- destructiveHint: false,
129
- idempotentHint: true,
130
- readOnlyHint: true,
131
- },
132
- },
133
139
  list_listings: {
134
140
  operationId: "list_listings",
135
141
  method: "GET",
@@ -152,26 +158,16 @@ export const meta = {
152
158
  readOnlyHint: true,
153
159
  },
154
160
  },
155
- list_webhook_events: {
156
- operationId: "list_webhook_events",
157
- method: "GET",
158
- path: "/v1/webhooks/{webhook_id}/events",
159
- description: "List recent events for a webhook. Shows delivery status, attempts, and errors. Useful for debugging failed deliveries.",
160
- annotations: {
161
- destructiveHint: false,
162
- idempotentHint: true,
163
- readOnlyHint: true,
164
- },
165
- },
166
- list_webhooks: {
167
- operationId: "list_webhooks",
168
- method: "GET",
169
- path: "/v1/webhooks",
170
- description: "List all webhooks for the account. Shows URL, events filter, and enabled status.",
161
+ order_redeliver: {
162
+ operationId: "redeliver_order",
163
+ method: "POST",
164
+ path: "/v1/orders/{order_id}/redeliver",
165
+ description: "Requeue order.paid (and order.fulfilled if applicable) to the listing's agent_callback_url with attempt=1, no initial delay. Rate limited: 10/hour/order, 100/hour/api-key. Pass an Idempotency-Key header to dedupe within 24h. Responds 202 with scheduled_attempts count. Zero means the listing has no agent_callback_url — agent should poll /v1/orders or /v1/events instead.",
171
166
  annotations: {
172
167
  destructiveHint: false,
173
- idempotentHint: true,
174
- readOnlyHint: true,
168
+ idempotentHint: false,
169
+ openWorldHint: true,
170
+ readOnlyHint: false,
175
171
  },
176
172
  },
177
173
  publish_listing: {
@@ -195,38 +191,6 @@ export const meta = {
195
191
  readOnlyHint: false,
196
192
  },
197
193
  },
198
- remove_deliverables: {
199
- operationId: "remove_deliverables",
200
- method: "DELETE",
201
- path: "/v1/listings/{listing_id}/deliverables",
202
- description: "Remove all deliverables from a listing. This is irreversible — the files and delivery configuration cannot be recovered. The listing switches to external fulfillment (webhook or agent callback).",
203
- annotations: {
204
- destructiveHint: true,
205
- readOnlyHint: false,
206
- },
207
- },
208
- retry_webhook_event: {
209
- operationId: "retry_webhook_event",
210
- method: "POST",
211
- path: "/v1/webhooks/{webhook_id}/events/{event_id}/retry",
212
- description: "Retry delivery of a failed webhook event. Resets attempt counter.",
213
- annotations: {
214
- destructiveHint: false,
215
- openWorldHint: true,
216
- readOnlyHint: false,
217
- },
218
- },
219
- set_deliverables: {
220
- operationId: "set_deliverables",
221
- method: "PUT",
222
- path: "/v1/listings/{listing_id}/deliverables",
223
- description: "Set digital deliverables (files, URLs, or text) on a listing. Listings with deliverables auto-deliver to buyers on purchase.",
224
- annotations: {
225
- destructiveHint: false,
226
- idempotentHint: true,
227
- readOnlyHint: false,
228
- },
229
- },
230
194
  start_stripe_connect: {
231
195
  operationId: "start_stripe_connect",
232
196
  method: "POST",
@@ -237,22 +201,11 @@ export const meta = {
237
201
  readOnlyHint: false,
238
202
  },
239
203
  },
240
- test_webhook: {
241
- operationId: "test_webhook",
242
- method: "POST",
243
- path: "/v1/webhooks/{webhook_id}/test",
244
- description: "Send a test event to the webhook URL. Returns the delivery result. Use this to verify webhook configuration before going live.",
245
- annotations: {
246
- destructiveHint: false,
247
- openWorldHint: true,
248
- readOnlyHint: false,
249
- },
250
- },
251
204
  update_account: {
252
205
  operationId: "update_account",
253
206
  method: "PUT",
254
207
  path: "/v1/account",
255
- description: "Update account settings (GA tracking, notification preferences).",
208
+ description: "Update account settings including brand info (display_name, bio, avatar) and other account-level configuration.",
256
209
  annotations: {
257
210
  destructiveHint: false,
258
211
  idempotentHint: true,
@@ -263,34 +216,12 @@ export const meta = {
263
216
  operationId: "update_listing",
264
217
  method: "PUT",
265
218
  path: "/v1/listings/{listing_id}",
266
- description: "Update listing fields. Returns updated listing with readiness.",
219
+ description: "Update listing fields. Returns updated listing with readiness. To rotate the signing secret, include `signing_secret` in the request body: set to `null` to auto-generate a new secret, or provide a custom string. When rotation occurs, the response object is `listing_with_secret` and includes the full new `signing_secret` once.",
267
220
  annotations: {
268
221
  destructiveHint: false,
269
222
  idempotentHint: true,
270
223
  readOnlyHint: false,
271
224
  },
272
225
  },
273
- update_webhook: {
274
- operationId: "update_webhook",
275
- method: "PUT",
276
- path: "/v1/webhooks/{webhook_id}",
277
- description: "Update a webhook endpoint URL, name, or subscribed events. Only provided fields are changed. Use POST /v1/webhooks/{webhook_id}/test to verify the updated endpoint receives events correctly.",
278
- annotations: {
279
- destructiveHint: false,
280
- idempotentHint: true,
281
- readOnlyHint: false,
282
- },
283
- },
284
- upload_file: {
285
- operationId: "upload_file",
286
- method: "POST",
287
- path: "/v1/files",
288
- description: "Upload a file and receive a token for use in deliverables.",
289
- annotations: {
290
- destructiveHint: false,
291
- openWorldHint: true,
292
- readOnlyHint: false,
293
- },
294
- },
295
226
  };
296
227
  //# sourceMappingURL=meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"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"}