@apostra/sdk 0.38.0 → 0.40.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.
@@ -1,5 +1,14 @@
1
1
  import { Transport } from '../transport.js';
2
2
  export class Apostra extends Transport {
3
+ /**
4
+ * Issue the hosted card-capture link for a token from request_payment_authority. Give the link to the cardholder; cards stay off MCP.
5
+ *
6
+ * @example
7
+ * await client.confirmPaymentAuthority(input, { idempotencyKey: 'stable-key' })
8
+ */
9
+ confirmPaymentAuthority(input, options) { return this.request("confirm_payment_authority", input, options); }
10
+ /** Issue the hosted card-capture link for a token from request_payment_authority. Give the link to the cardholder; cards stay off MCP. Returns the data together with response headers and request ID. */
11
+ confirmPaymentAuthorityWithResponse(input, options) { return this.requestDetailed("confirm_payment_authority", input, options); }
3
12
  /**
4
13
  * Download a public immutable document revision
5
14
  *
@@ -73,14 +82,23 @@ export class Apostra extends Transport {
73
82
  /** Show a seller what reporting we received for one buyer media buy, whether each receipt was accepted, and the current computed daily totals. Opens the Media Buy Timeline Glance. Returns the data together with response headers and request ID. */
74
83
  getSellerReportingReceiptsWithResponse(input, options) { return this.requestDetailed("get_seller_reporting_receipts", input, options); }
75
84
  /**
76
- * Current account, state, blockers, exact fixes, and reachable accounts. For seller demand, use it to tell whether readiness stops requests before source calls; read before diagnosing source health, empty responses, or demand.
85
+ * Current account, state, blockers, exact fixes, and reachable accounts. For seller demand, use it to tell whether readiness stops requests before source calls; read before diagnosing source health, empty responses, or demand. A Developer account adds each agent's stage, blocker, and next call.
77
86
  *
78
87
  * @example
79
88
  * await client.getStatus(input)
80
89
  */
81
90
  getStatus(input = {}, options) { return this.request("get_status", input, options); }
82
- /** Current account, state, blockers, exact fixes, and reachable accounts. For seller demand, use it to tell whether readiness stops requests before source calls; read before diagnosing source health, empty responses, or demand. Returns the data together with response headers and request ID. */
91
+ /** Current account, state, blockers, exact fixes, and reachable accounts. For seller demand, use it to tell whether readiness stops requests before source calls; read before diagnosing source health, empty responses, or demand. A Developer account adds each agent's stage, blocker, and next call. Returns the data together with response headers and request ID. */
83
92
  getStatusWithResponse(input = {}, options) { return this.requestDetailed("get_status", input, options); }
93
+ /**
94
+ * Send up to 10,000 AdCP conversion events (log_event) to an event source the advertiser registered with save_event_source. Events must also pass the v2 rules: no raw email or phone in user_match, each event_type + event_id once per call. One invalid event refuses the whole call.
95
+ *
96
+ * @example
97
+ * await client.logEvent(input, { idempotencyKey: 'stable-key' })
98
+ */
99
+ logEvent(input, options) { return this.request("log_event", input, options); }
100
+ /** Send up to 10,000 AdCP conversion events (log_event) to an event source the advertiser registered with save_event_source. Events must also pass the v2 rules: no raw email or phone in user_match, each event_type + event_id once per call. One invalid event refuses the whole call. Returns the data together with response headers and request ID. */
101
+ logEventWithResponse(input, options) { return this.requestDetailed("log_event", input, options); }
84
102
  /**
85
103
  * Open the Advertisers Page: every advertiser with its campaign and draft counts and one next action each. Use it for "show my advertisers" or "where do I start"; the Page self-fetches. To add or set up an advertiser, pass intent: "add". For a text answer use search(kind: "advertiser").
86
104
  *
@@ -90,6 +108,15 @@ export class Apostra extends Transport {
90
108
  openAdvertisersPage(input, options) { return this.request("open_advertisers_page", input, options); }
91
109
  /** Open the Advertisers Page: every advertiser with its campaign and draft counts and one next action each. Use it for "show my advertisers" or "where do I start"; the Page self-fetches. To add or set up an advertiser, pass intent: "add". For a text answer use search(kind: "advertiser"). Returns the data together with response headers and request ID. */
92
110
  openAdvertisersPageWithResponse(input, options) { return this.requestDetailed("open_advertisers_page", input, options); }
111
+ /**
112
+ * Open one agent’s Test & certify Page: live certification per use case, recent test runs, AdCP 4.0 readiness and capability declarations. Read-only.
113
+ *
114
+ * @example
115
+ * await client.openAgentCertificationPage(input)
116
+ */
117
+ openAgentCertificationPage(input, options) { return this.request("open_agent_certification_page", input, options); }
118
+ /** Open one agent’s Test & certify Page: live certification per use case, recent test runs, AdCP 4.0 readiness and capability declarations. Read-only. Returns the data together with response headers and request ID. */
119
+ openAgentCertificationPageWithResponse(input, options) { return this.requestDetailed("open_agent_certification_page", input, options); }
93
120
  /**
94
121
  * Open one agent owned by this Developer account.
95
122
  *
@@ -99,6 +126,24 @@ export class Apostra extends Transport {
99
126
  openAgentPage(input, options) { return this.request("open_agent_page", input, options); }
100
127
  /** Open one agent owned by this Developer account. Returns the data together with response headers and request ID. */
101
128
  openAgentPageWithResponse(input, options) { return this.requestDetailed("open_agent_page", input, options); }
129
+ /**
130
+ * Open one agent’s Inventory sources Page: the inventory sources it powers and the health of each. Read-only.
131
+ *
132
+ * @example
133
+ * await client.openAgentSourcesPage(input)
134
+ */
135
+ openAgentSourcesPage(input, options) { return this.request("open_agent_sources_page", input, options); }
136
+ /** Open one agent’s Inventory sources Page: the inventory sources it powers and the health of each. Read-only. Returns the data together with response headers and request ID. */
137
+ openAgentSourcesPageWithResponse(input, options) { return this.requestDetailed("open_agent_sources_page", input, options); }
138
+ /**
139
+ * Open one agent’s Webhooks Page: its recent inbound webhook outcomes, each refusal with its reason. Read-only.
140
+ *
141
+ * @example
142
+ * await client.openAgentWebhooksPage(input)
143
+ */
144
+ openAgentWebhooksPage(input, options) { return this.request("open_agent_webhooks_page", input, options); }
145
+ /** Open one agent’s Webhooks Page: its recent inbound webhook outcomes, each refusal with its reason. Read-only. Returns the data together with response headers and request ID. */
146
+ openAgentWebhooksPageWithResponse(input, options) { return this.requestDetailed("open_agent_webhooks_page", input, options); }
102
147
  /**
103
148
  * Open Build an agent for this Developer account.
104
149
  *
@@ -136,13 +181,13 @@ export class Apostra extends Transport {
136
181
  /** Open the Campaigns Page: campaigns with status, flight, and budget; open one for its media buys and creatives. The Page self-fetches, so do not list campaigns in prose. advertiserId scopes to one advertiser; campaignId focuses one campaign. A draft's go-live review is open_campaign_receipt. Returns the data together with response headers and request ID. */
137
182
  openCampaignsPageWithResponse(input, options) { return this.requestDetailed("open_campaigns_page", input, options); }
138
183
  /**
139
- * Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms.
184
+ * Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms. Replaced by open_media_partners_page, which opens the same Page.
140
185
  *
141
186
  * @example
142
187
  * await client.openConnectionsPage(input)
143
188
  */
144
189
  openConnectionsPage(input, options) { return this.request("open_connections_page", input, options); }
145
- /** Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms. Returns the data together with response headers and request ID. */
190
+ /** Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms. Replaced by open_media_partners_page, which opens the same Page. Returns the data together with response headers and request ID. */
146
191
  openConnectionsPageWithResponse(input, options) { return this.requestDetailed("open_connections_page", input, options); }
147
192
  /**
148
193
  * Open the buyer Creative Engines Page. Optionally focus an engine, connection, or its secure setup control; the buyer starts setup in the Page, and this does not authorize a provider or start generation.
@@ -163,22 +208,40 @@ export class Apostra extends Transport {
163
208
  /** Open Creative Library. Use search for a plain object answer. Composer needs campaignId; assembly needs no Creative Engine. To save a draft, use exactly one format: a canonical format such as image, hosted video, or hosted audio, or a seller format. Returns the data together with response headers and request ID. */
164
209
  openCreativeLibraryWithResponse(input, options) { return this.requestDetailed("open_creative_library", input, options); }
165
210
  /**
166
- * Open the Seller Media Buys Page. Optionally focus one seller-owned account relationship and its buys or creatives; the Page self-fetches.
211
+ * Open the Developer home for this Developer account: its agents, their stages and what to do next.
212
+ *
213
+ * @example
214
+ * await client.openDeveloperHome(input)
215
+ */
216
+ openDeveloperHome(input, options) { return this.request("open_developer_home", input, options); }
217
+ /** Open the Developer home for this Developer account: its agents, their stages and what to do next. Returns the data together with response headers and request ID. */
218
+ openDeveloperHomeWithResponse(input, options) { return this.requestDetailed("open_developer_home", input, options); }
219
+ /**
220
+ * Open the Seller Media Buys Page. Optionally focus one account relationship or seller account mapping (not both) and its buys or creatives; the Page self-fetches.
167
221
  *
168
222
  * @example
169
223
  * await client.openMediaBuysPage(input)
170
224
  */
171
225
  openMediaBuysPage(input, options) { return this.request("open_media_buys_page", input, options); }
172
- /** Open the Seller Media Buys Page. Optionally focus one seller-owned account relationship and its buys or creatives; the Page self-fetches. Returns the data together with response headers and request ID. */
226
+ /** Open the Seller Media Buys Page. Optionally focus one account relationship or seller account mapping (not both) and its buys or creatives; the Page self-fetches. Returns the data together with response headers and request ID. */
173
227
  openMediaBuysPageWithResponse(input, options) { return this.requestDetailed("open_media_buys_page", input, options); }
174
228
  /**
175
- * Open a compatibility Page. source_diagnostics can create or attach the Agent. External hosts may return text. Credentials and authority changes remain human ceremonies.
229
+ * Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms.
230
+ *
231
+ * @example
232
+ * await client.openMediaPartnersPage(input)
233
+ */
234
+ openMediaPartnersPage(input, options) { return this.request("open_media_partners_page", input, options); }
235
+ /** Open the buyer Media Partners Page. Optionally scope to an advertiser or seller; connectionAction "connect" opens that media partner at connection setup without mutating until the user confirms. Returns the data together with response headers and request ID. */
236
+ openMediaPartnersPageWithResponse(input, options) { return this.requestDetailed("open_media_partners_page", input, options); }
237
+ /**
238
+ * Open a compatibility Page. Owners create or attach the Agent in source_diagnostics. External hosts may return text. Credentials and authority changes remain human ceremonies.
176
239
  *
177
240
  * @example
178
241
  * await client.openPage(input)
179
242
  */
180
243
  openPage(input, options) { return this.request("open_page", input, options); }
181
- /** Open a compatibility Page. source_diagnostics can create or attach the Agent. External hosts may return text. Credentials and authority changes remain human ceremonies. Returns the data together with response headers and request ID. */
244
+ /** Open a compatibility Page. Owners create or attach the Agent in source_diagnostics. External hosts may return text. Credentials and authority changes remain human ceremonies. Returns the data together with response headers and request ID. */
182
245
  openPageWithResponse(input, options) { return this.requestDetailed("open_page", input, options); }
183
246
  /**
184
247
  * Open Proposal Pass on one exact immutable RFP turn. Supply the matching rfpId and turnId from save_rfp or get; the Page loads the private response itself.
@@ -208,13 +271,13 @@ export class Apostra extends Transport {
208
271
  /** Show a saved Creative Session’s variants (find via search/get kind creative_session). Not for generating new variants. Returns the data together with response headers and request ID. */
209
272
  openVariantGalleryWithResponse(input, options) { return this.requestDetailed("open_variant_gallery", input, options); }
210
273
  /**
211
- * Rechecks one external sales-agent source with no-spend get_products. Returns evidence IDs and seller readiness; no source configuration or media buy.
274
+ * Rechecks one external sales-agent source with no-spend get_products and, if it publishes one, a catalog refresh. Returns each check, findings still open, evidence IDs and readiness; no source configuration or media buy.
212
275
  *
213
276
  * @example
214
277
  * await client.refreshInventorySourceHealth(input, { idempotencyKey: 'stable-key' })
215
278
  */
216
279
  refreshInventorySourceHealth(input, options) { return this.request("refresh_inventory_source_health", input, options); }
217
- /** Rechecks one external sales-agent source with no-spend get_products. Returns evidence IDs and seller readiness; no source configuration or media buy. Returns the data together with response headers and request ID. */
280
+ /** Rechecks one external sales-agent source with no-spend get_products and, if it publishes one, a catalog refresh. Returns each check, findings still open, evidence IDs and readiness; no source configuration or media buy. Returns the data together with response headers and request ID. */
218
281
  refreshInventorySourceHealthWithResponse(input, options) { return this.requestDetailed("refresh_inventory_source_health", input, options); }
219
282
  /**
220
283
  * Request a Buyer child under the selected Organization. Nothing is created until an Organization administrator approves it on our site; the result is approval_required with a link to show the person. Repeat with the same idempotencyKey and name for the outcome.
@@ -226,13 +289,22 @@ export class Apostra extends Transport {
226
289
  /** Request a Buyer child under the selected Organization. Nothing is created until an Organization administrator approves it on our site; the result is approval_required with a link to show the person. Repeat with the same idempotencyKey and name for the outcome. Returns the data together with response headers and request ID. */
227
290
  requestBuyerChildAccountWithResponse(input, options) { return this.requestDetailed("request_buyer_child_account", input, options); }
228
291
  /**
229
- * Request quotes/products. With a MediaBuy cap, only quotes confirming the exact cap are usable. sellerIds fail closed; campaign-only lists use eligible subset. Broadcast needs confirmBroadcast:true.
292
+ * Stage a card handoff for the organization and return a confirmation token. No link is issued until confirm_payment_authority.
293
+ *
294
+ * @example
295
+ * await client.requestPaymentAuthority(input, { idempotencyKey: 'stable-key' })
296
+ */
297
+ requestPaymentAuthority(input, options) { return this.request("request_payment_authority", input, options); }
298
+ /** Stage a card handoff for the organization and return a confirmation token. No link is issued until confirm_payment_authority. Returns the data together with response headers and request ID. */
299
+ requestPaymentAuthorityWithResponse(input, options) { return this.requestDetailed("request_payment_authority", input, options); }
300
+ /**
301
+ * Request quotes/products. With a MediaBuy cap, only quotes confirming the exact cap are usable. sellerIds and sellerAccountIds fail closed; campaign-only lists use eligible subset. Broadcast needs confirmBroadcast:true.
230
302
  *
231
303
  * @example
232
304
  * await client.requestProposals(input, { idempotencyKey: 'stable-key' })
233
305
  */
234
306
  requestProposals(input, options) { return this.request("request_proposals", input, options); }
235
- /** Request quotes/products. With a MediaBuy cap, only quotes confirming the exact cap are usable. sellerIds fail closed; campaign-only lists use eligible subset. Broadcast needs confirmBroadcast:true. Returns the data together with response headers and request ID. */
307
+ /** Request quotes/products. With a MediaBuy cap, only quotes confirming the exact cap are usable. sellerIds and sellerAccountIds fail closed; campaign-only lists use eligible subset. Broadcast needs confirmBroadcast:true. Returns the data together with response headers and request ID. */
236
308
  requestProposalsWithResponse(input, options) { return this.requestDetailed("request_proposals", input, options); }
237
309
  /**
238
310
  * Requests a scheduler-run reporting refresh or a bounded replay for one seller media buy. It never polls a provider directly.
@@ -253,13 +325,13 @@ export class Apostra extends Transport {
253
325
  /** Review a Buyer child under the selected Organization: name, role, capacity, plan coverage, operator, inherited access and other effects. Read-only; nothing is created. Show the review to the person, then call request_buyer_child_account. Returns the data together with response headers and request ID. */
254
326
  reviewBuyerChildAccountWithResponse(input, options) { return this.requestDetailed("review_buyer_child_account", input, options); }
255
327
  /**
256
- * Rename an existing direct child Account or update settings.company. Never provisions, archives, or changes owners or members; use Account settings for access changes.
328
+ * Create a child Account (omit id), rename one, or archive or restore it (isArchived). Each is recorded for website approval by an Organization administrator; repeat with the same idempotencyKey for the outcome. dryRun previews. settings.company saves at once. Never changes owners or members.
257
329
  *
258
330
  * @example
259
331
  * await client.saveAccount(input, { idempotencyKey: 'stable-key' })
260
332
  */
261
333
  saveAccount(input, options) { return this.request("save_account", input, options); }
262
- /** Rename an existing direct child Account or update settings.company. Never provisions, archives, or changes owners or members; use Account settings for access changes. Returns the data together with response headers and request ID. */
334
+ /** Create a child Account (omit id), rename one, or archive or restore it (isArchived). Each is recorded for website approval by an Organization administrator; repeat with the same idempotencyKey for the outcome. dryRun previews. settings.company saves at once. Never changes owners or members. Returns the data together with response headers and request ID. */
263
335
  saveAccountWithResponse(input, options) { return this.requestDetailed("save_account", input, options); }
264
336
  /**
265
337
  * Save an advertiser or mappings. Buyer privateNotes: owning Buyer Account only; /v3/manage-ads#private-advertiser-notes. Confirm markets/channels (footprintProposal); needs_input=ask; never recreate for currency. Brand: identityContract:confirmed-v1; preview: resolveBrand; read advertiser.brandRef.
@@ -270,15 +342,6 @@ export class Apostra extends Transport {
270
342
  saveAdvertiser(input, options) { return this.request("save_advertiser", input, options); }
271
343
  /** Save an advertiser or mappings. Buyer privateNotes: owning Buyer Account only; /v3/manage-ads#private-advertiser-notes. Confirm markets/channels (footprintProposal); needs_input=ask; never recreate for currency. Brand: identityContract:confirmed-v1; preview: resolveBrand; read advertiser.brandRef. Returns the data together with response headers and request ID. */
272
344
  saveAdvertiserWithResponse(input, options) { return this.requestDetailed("save_advertiser", input, options); }
273
- /**
274
- * Invite a client to one of your advertisers, approve, suspend, reactivate, or revoke a client, or change a client's role. Read get kind advertiser_access first and use only what it offers. Needs an organization administrator signed in directly.
275
- *
276
- * @example
277
- * await client.saveAdvertiserAccess(input, { idempotencyKey: 'stable-key' })
278
- */
279
- saveAdvertiserAccess(input, options) { return this.request("save_advertiser_access", input, options); }
280
- /** Invite a client to one of your advertisers, approve, suspend, reactivate, or revoke a client, or change a client's role. Read get kind advertiser_access first and use only what it offers. Needs an organization administrator signed in directly. Returns the data together with response headers and request ID. */
281
- saveAdvertiserAccessWithResponse(input, options) { return this.requestDetailed("save_advertiser_access", input, options); }
282
345
  /**
283
346
  * Invite another Organization to exact advertisers, accept/reject an invitation, or revoke a grant. Limited beta: eligible Organization, entitlement, server-side exposure, and direct human-admin authority are required.
284
347
  *
@@ -298,13 +361,13 @@ export class Apostra extends Transport {
298
361
  /** Seller-only CRM notes for an exact brand × operator pair. Buyers use save_advertiser.privateNotes; see /v3/manage-ads#private-advertiser-notes. Effective discounts, routing, access and trust are read-only. Returns the data together with response headers and request ID. */
299
362
  saveAdvertiserInstructionsWithResponse(input, options) { return this.requestDetailed("save_advertiser_instructions", input, options); }
300
363
  /**
301
- * Save a Sales Agent mode, register an Agent, or update an owned Agent: rename it or say it is ready for certification. Select seller_save, developer_create, or developer_update.
364
+ * Confirm a Sales Agent product mode, register a Sales or Creative Agent, or update an owned Agent: rename it or allow certification buys. To connect from a URL, send agentUrl with dryRun: true, show what was read, then send it without dryRun. A connected agent is not yet verified as theirs.
302
365
  *
303
366
  * @example
304
367
  * await client.saveAgent(input, { idempotencyKey: 'stable-key' })
305
368
  */
306
369
  saveAgent(input, options) { return this.request("save_agent", input, options); }
307
- /** Save a Sales Agent mode, register an Agent, or update an owned Agent: rename it or say it is ready for certification. Select seller_save, developer_create, or developer_update. Returns the data together with response headers and request ID. */
370
+ /** Confirm a Sales Agent product mode, register a Sales or Creative Agent, or update an owned Agent: rename it or allow certification buys. To connect from a URL, send agentUrl with dryRun: true, show what was read, then send it without dryRun. A connected agent is not yet verified as theirs. Returns the data together with response headers and request ID. */
308
371
  saveAgentWithResponse(input, options) { return this.requestDetailed("save_agent", input, options); }
309
372
  /**
310
373
  * File or update a typed ask in the Apostra Support workflow; returns askId. Supply is buyer inventory. Call immediately with type support when a person explicitly asks for a human; do not diagnose first.
@@ -325,13 +388,13 @@ export class Apostra extends Transport {
325
388
  /** Sync first-party CRM audiences for a buyer advertiser. Each audiences[] item may add, remove, or delete members. Returns an operationId; use get(kind: audience, advertiserId: "...") to read match status after it settles. Returns the data together with response headers and request ID. */
326
389
  saveAudienceWithResponse(input, options) { return this.requestDetailed("save_audience", input, options); }
327
390
  /**
328
- * Accept Terms, set seller terms, or manage payment authority. Cards stay off MCP.
391
+ * Accept Terms, set the payment terms sellers are asked for, or accept a plan, answer its offer and change its renewal. Accepting a plan needs an administrator to approve it on our site. Cards stay off MCP.
329
392
  *
330
393
  * @example
331
394
  * await client.saveBilling(input, { idempotencyKey: 'stable-key' })
332
395
  */
333
396
  saveBilling(input, options) { return this.request("save_billing", input, options); }
334
- /** Accept Terms, set seller terms, or manage payment authority. Cards stay off MCP. Returns the data together with response headers and request ID. */
397
+ /** Accept Terms, set the payment terms sellers are asked for, or accept a plan, answer its offer and change its renewal. Accepting a plan needs an administrator to approve it on our site. Cards stay off MCP. Returns the data together with response headers and request ID. */
335
398
  saveBillingWithResponse(input, options) { return this.requestDetailed("save_billing", input, options); }
336
399
  /**
337
400
  * Write seller AI Business Rules. Policy content needs an account admin and both policy fields. Approval auto needs acknowledgeNoHumanReview.
@@ -343,13 +406,13 @@ export class Apostra extends Transport {
343
406
  /** Write seller AI Business Rules. Policy content needs an account admin and both policy fields. Approval auto needs acknowledgeNoHumanReview. Returns the data together with response headers and request ID. */
344
407
  saveBusinessRulesWithResponse(input, options) { return this.requestDetailed("save_business_rules", input, options); }
345
408
  /**
346
- * Create or manage one buyer agent.
409
+ * Create a buyer agent, or with id make one change: name, advertiser access, lifecycle state, or credential handoff.
347
410
  *
348
411
  * @example
349
412
  * await client.saveBuyerAgent(input, { idempotencyKey: 'stable-key' })
350
413
  */
351
414
  saveBuyerAgent(input, options) { return this.request("save_buyer_agent", input, options); }
352
- /** Create or manage one buyer agent. Returns the data together with response headers and request ID. */
415
+ /** Create a buyer agent, or with id make one change: name, advertiser access, lifecycle state, or credential handoff. Returns the data together with response headers and request ID. */
353
416
  saveBuyerAgentWithResponse(input, options) { return this.requestDetailed("save_buyer_agent", input, options); }
354
417
  /**
355
418
  * Save buyer commercial identity. Read get_status; use identityContract:confirmed-v1 for preview and confirmation. Guide: /v2/setup/v3/identity-setup.
@@ -361,13 +424,13 @@ export class Apostra extends Transport {
361
424
  /** Save buyer commercial identity. Read get_status; use identityContract:confirmed-v1 for preview and confirmation. Guide: /v2/setup/v3/identity-setup. Returns the data together with response headers and request ID. */
362
425
  saveBuyerOperatorWithResponse(input, options) { return this.requestDetailed("save_buyer_operator", input, options); }
363
426
  /**
364
- * Save a campaign. To create, send advertiserId and name; flight and budget are optional. Split inventory into media buys. Set desiredPhase: active to launch; omit confirmLaunch to preview. Cancellation is irreversible: desiredPhase: canceled cancels the campaign and every live media buy.
427
+ * Create: advertiserId/name; flight/budget optional. Receipts and launch previews show local/UTC times in the applicable IANA timezone. desiredPhase: active previews; confirmLaunch: true launches. Cancellation is irreversible: desiredPhase: canceled cancels the campaign and every live media buy.
365
428
  *
366
429
  * @example
367
430
  * await client.saveCampaign(input, { idempotencyKey: 'stable-key' })
368
431
  */
369
432
  saveCampaign(input, options) { return this.request("save_campaign", input, options); }
370
- /** Save a campaign. To create, send advertiserId and name; flight and budget are optional. Split inventory into media buys. Set desiredPhase: active to launch; omit confirmLaunch to preview. Cancellation is irreversible: desiredPhase: canceled cancels the campaign and every live media buy. Returns the data together with response headers and request ID. */
433
+ /** Create: advertiserId/name; flight/budget optional. Receipts and launch previews show local/UTC times in the applicable IANA timezone. desiredPhase: active previews; confirmLaunch: true launches. Cancellation is irreversible: desiredPhase: canceled cancels the campaign and every live media buy. Returns the data together with response headers and request ID. */
371
434
  saveCampaignWithResponse(input, options) { return this.requestDetailed("save_campaign", input, options); }
372
435
  /**
373
436
  * Create or replace a catalog: type and exactly one of url (feed URL) or non-empty items are required. If missing, ask the buyer for the feed URL or items before calling. URL saves refetch the feed. To archive, set isArchived: true with identity only; type, url and items are not needed.
@@ -397,13 +460,13 @@ export class Apostra extends Transport {
397
460
  /** Declare publisher domains this Seller sells and its claimed properties. `domains` replaces the complete set; `add`, `remove`, `declareProperties`, and `removeProperties` change named items only. Read authorization; never assume it. Returns the data together with response headers and request ID. */
398
461
  saveCoverageWithResponse(input, options) { return this.requestDetailed("save_coverage", input, options); }
399
462
  /**
400
- * Save creative in advertiserId/campaignId with name, message, assets, clickUrl, social, sourceAssetRef/sourceAssets. Use exactly one format selector: formatKind/formatParams, creativeFormatId, formatOptionRef. Supplied content/assets only; generate new media (radio spots) via save_creative_session.
463
+ * advertiserId/campaignId:name,message;assets/landing_page_url/social/sourceAssetRef/sourceAssets;Supplied content/assets only;generate new media (radio spots):save_creative_session;exactly one format selector:formatKind/formatParams,creativeFormatId/formatOptionRef;libraryRole:Buyer Account only.
401
464
  *
402
465
  * @example
403
466
  * await client.saveCreative(input, { idempotencyKey: 'stable-key' })
404
467
  */
405
468
  saveCreative(input, options) { return this.request("save_creative", input, options); }
406
- /** Save creative in advertiserId/campaignId with name, message, assets, clickUrl, social, sourceAssetRef/sourceAssets. Use exactly one format selector: formatKind/formatParams, creativeFormatId, formatOptionRef. Supplied content/assets only; generate new media (radio spots) via save_creative_session. Returns the data together with response headers and request ID. */
469
+ /** advertiserId/campaignId:name,message;assets/landing_page_url/social/sourceAssetRef/sourceAssets;Supplied content/assets only;generate new media (radio spots):save_creative_session;exactly one format selector:formatKind/formatParams,creativeFormatId/formatOptionRef;libraryRole:Buyer Account only. Returns the data together with response headers and request ID. */
407
470
  saveCreativeWithResponse(input, options) { return this.requestDetailed("save_creative", input, options); }
408
471
  /**
409
472
  * Manage collections. Create with one owner and name: campaignId or advertiserId. Only advertiser mutations of an existing collection need expectedUpdatedAt; campaign writes and creates do not. isArchived archives or restores advertiser collections.
@@ -415,13 +478,13 @@ export class Apostra extends Transport {
415
478
  /** Manage collections. Create with one owner and name: campaignId or advertiserId. Only advertiser mutations of an existing collection need expectedUpdatedAt; campaign writes and creates do not. isArchived archives or restores advertiser collections. Returns the data together with response headers and request ID. */
416
479
  saveCreativeCollectionWithResponse(input, options) { return this.requestDetailed("save_creative_collection", input, options); }
417
480
  /**
418
- * Create image, video, or voice/audio variants from a brief (including radio spots). Scope: campaign/campaignId or advertiser/advertiserId.
481
+ * Save a Creative Session for image, video, or voice/audio (including radio spots) from a brief: its draft, selected output, approval, or finalisation. It never generates; generate_variants does. To save an approved output to the Library, use save_creative with fromCreativeSessionOutput.
419
482
  *
420
483
  * @example
421
484
  * await client.saveCreativeSession(input, { idempotencyKey: 'stable-key' })
422
485
  */
423
486
  saveCreativeSession(input, options) { return this.request("save_creative_session", input, options); }
424
- /** Create image, video, or voice/audio variants from a brief (including radio spots). Scope: campaign/campaignId or advertiser/advertiserId. Returns the data together with response headers and request ID. */
487
+ /** Save a Creative Session for image, video, or voice/audio (including radio spots) from a brief: its draft, selected output, approval, or finalisation. It never generates; generate_variants does. To save an approved output to the Library, use save_creative with fromCreativeSessionOutput. Returns the data together with response headers and request ID. */
425
488
  saveCreativeSessionWithResponse(input, options) { return this.requestDetailed("save_creative_session", input, options); }
426
489
  /**
427
490
  * Create a dimension, or update an existing dimension by its id. Tags is built in and open. Labels belong only to objects in appliesTo.
@@ -451,22 +514,22 @@ export class Apostra extends Transport {
451
514
  /** Create, change, archive, or restore up to 50 advertiser conversion event sources (pixels, server feeds). Each entry is keyed by eventSourceId and succeeds or fails alone. Setup is not proof events flow: check health with get, then use eventSourceId in an optimization goal. Returns the data together with response headers and request ID. */
452
515
  saveEventSourceWithResponse(input, options) { return this.requestDetailed("save_event_source", input, options); }
453
516
  /**
454
- * Create or update where a seller's inventory comes from. Pass `id` to change an existing source, omit it to add one. Credentials are never passed here — a source that needs a secret comes back with the state and the page that collects it.
517
+ * Create or update where a seller's inventory comes from. Pass `id` to change a source or omit it to add one. Pass only `agentId` or `adServer` to open the form that connects an agent or an ad server. Credentials are never passed here; a source that needs one returns the page that collects it.
455
518
  *
456
519
  * @example
457
520
  * await client.saveInventorySource(input, { idempotencyKey: 'stable-key' })
458
521
  */
459
522
  saveInventorySource(input, options) { return this.request("save_inventory_source", input, options); }
460
- /** Create or update where a seller's inventory comes from. Pass `id` to change an existing source, omit it to add one. Credentials are never passed here — a source that needs a secret comes back with the state and the page that collects it. Returns the data together with response headers and request ID. */
523
+ /** Create or update where a seller's inventory comes from. Pass `id` to change a source or omit it to add one. Pass only `agentId` or `adServer` to open the form that connects an agent or an ad server. Credentials are never passed here; a source that needs one returns the page that collects it. Returns the data together with response headers and request ID. */
461
524
  saveInventorySourceWithResponse(input, options) { return this.requestDetailed("save_inventory_source", input, options); }
462
525
  /**
463
- * Manage seller lessons. propose requires lesson; approve and retire require lessonId; preview requires lessonId and brief. Preserve seller words from a private Session note and ask if kind or scope is unclear.
526
+ * Manage seller lessons in a seller account; send the accountId of that account. propose requires lesson; approve and retire require lessonId; preview requires lessonId and brief. Preserve seller words from a private Session note and ask if kind or scope is unclear.
464
527
  *
465
528
  * @example
466
529
  * await client.saveLesson(input, { idempotencyKey: 'stable-key' })
467
530
  */
468
531
  saveLesson(input, options) { return this.request("save_lesson", input, options); }
469
- /** Manage seller lessons. propose requires lesson; approve and retire require lessonId; preview requires lessonId and brief. Preserve seller words from a private Session note and ask if kind or scope is unclear. Returns the data together with response headers and request ID. */
532
+ /** Manage seller lessons in a seller account; send the accountId of that account. propose requires lesson; approve and retire require lessonId; preview requires lessonId and brief. Preserve seller words from a private Session note and ask if kind or scope is unclear. Returns the data together with response headers and request ID. */
470
533
  saveLessonWithResponse(input, options) { return this.requestDetailed("save_lesson", input, options); }
471
534
  /**
472
535
  * Open a seller library request or close it with seller Material.
@@ -478,13 +541,13 @@ export class Apostra extends Transport {
478
541
  /** Open a seller library request or close it with seller Material. Returns the data together with response headers and request ID. */
479
542
  saveLibraryRequestWithResponse(input, options) { return this.requestDetailed("save_library_request", input, options); }
480
543
  /**
481
- * Register, revise, archive, restore, or reprocess seller Materials; manage candidate decisions and receipts; mark a slide, page, or sheet reusable only when it has no commercial figures (UNIT_NOT_REUSABLE_KIND rejects document containers, UNIT_CONTAINS_PRICING rejects priced units).
544
+ * Create or update seller Materials. Seller beta: preview, delete, Undo deletion, or Include again for one imported Library document. Delete archives it, excludes its source until Include again, and purges it after 30 days. https://docs.apostra.com/v3/delete-from-apostra
482
545
  *
483
546
  * @example
484
547
  * await client.saveMaterial(input, { idempotencyKey: 'stable-key' })
485
548
  */
486
549
  saveMaterial(input, options) { return this.request("save_material", input, options); }
487
- /** Register, revise, archive, restore, or reprocess seller Materials; manage candidate decisions and receipts; mark a slide, page, or sheet reusable only when it has no commercial figures (UNIT_NOT_REUSABLE_KIND rejects document containers, UNIT_CONTAINS_PRICING rejects priced units). Returns the data together with response headers and request ID. */
550
+ /** Create or update seller Materials. Seller beta: preview, delete, Undo deletion, or Include again for one imported Library document. Delete archives it, excludes its source until Include again, and purges it after 30 days. https://docs.apostra.com/v3/delete-from-apostra Returns the data together with response headers and request ID. */
488
551
  saveMaterialWithResponse(input, options) { return this.requestDetailed("save_material", input, options); }
489
552
  /**
490
553
  * Create DRAFT buy; no spend until confirmed. Meta: shared campaign=seller_optimized; ad sets=fixed; ask if unclear. Shared: omit buy/product budgets. Pause/resume: mediaBuyId + isPaused. Proposal: flight + total budget; omit products. channelGroupId: required if grouped; invalid ungrouped/updates.
@@ -514,13 +577,13 @@ export class Apostra extends Transport {
514
577
  /** Create or update a notification subscription. Omit subscriptionId to create; managed subscriptions permit only mutable fields. Use save_integration for credentials when needed. Returns the data together with response headers and request ID. */
515
578
  saveNotificationConfigWithResponse(input, options) { return this.requestDetailed("save_notification_config", input, options); }
516
579
  /**
517
- * Write how the seller sells. `active` creates and activates a new version in one step — no separate activate; the response names the version created and replaced. `pricing` replaces the whole fact list. `discounts` sets or removes brand/operator rules one by one. Halves never roll back each other.
580
+ * Write selling guidance. `active` turns Playbook prose and its optional seller note into proposed Lessons; the active Playbook is unchanged. `pricing` replaces facts. `discounts` sets or removes brand/operator rules. Halves never roll back each other.
518
581
  *
519
582
  * @example
520
583
  * await client.savePlaybook(input, { idempotencyKey: 'stable-key' })
521
584
  */
522
585
  savePlaybook(input, options) { return this.request("save_playbook", input, options); }
523
- /** Write how the seller sells. `active` creates and activates a new version in one step — no separate activate; the response names the version created and replaced. `pricing` replaces the whole fact list. `discounts` sets or removes brand/operator rules one by one. Halves never roll back each other. Returns the data together with response headers and request ID. */
586
+ /** Write selling guidance. `active` turns Playbook prose and its optional seller note into proposed Lessons; the active Playbook is unchanged. `pricing` replaces facts. `discounts` sets or removes brand/operator rules. Halves never roll back each other. Returns the data together with response headers and request ID. */
524
587
  savePlaybookWithResponse(input, options) { return this.requestDetailed("save_playbook", input, options); }
525
588
  /**
526
589
  * Create, update, archive, restore, or AAO-check an advertiser property list. Check uses identifiers without saving. Search/get read saved lists.
@@ -532,22 +595,31 @@ export class Apostra extends Transport {
532
595
  /** Create, update, archive, restore, or AAO-check an advertiser property list. Check uses identifiers without saving. Search/get read saved lists. Returns the data together with response headers and request ID. */
533
596
  savePropertyListWithResponse(input, options) { return this.requestDetailed("save_property_list", input, options); }
534
597
  /**
535
- * Save RFPs and turns: imported origins, typed feedback, response pairs, endorsement, and proposal-file requests.
598
+ * Save an RFP: create it from an origin, revise it with a new request, endorse or unendorse its response, or attach an imported response. A turn’s feedback, release, proposal files and outcome use save_rfp_turn.
536
599
  *
537
600
  * @example
538
601
  * await client.saveRfp(input, { idempotencyKey: 'stable-key' })
539
602
  */
540
603
  saveRfp(input, options) { return this.request("save_rfp", input, options); }
541
- /** Save RFPs and turns: imported origins, typed feedback, response pairs, endorsement, and proposal-file requests. Returns the data together with response headers and request ID. */
604
+ /** Save an RFP: create it from an origin, revise it with a new request, endorse or unendorse its response, or attach an imported response. A turn’s feedback, release, proposal files and outcome use save_rfp_turn. Returns the data together with response headers and request ID. */
542
605
  saveRfpWithResponse(input, options) { return this.requestDetailed("save_rfp", input, options); }
543
606
  /**
544
- * Save Seller identity, capabilities, Apostra listing, buyer-visible listing (mediaKit is a deprecated alias), Distribution's OpenAI challenge token, or a seller-controlled admission. Scope3 eligibility and Market Maker entitlements are read-only here. Read Distribution with get(kind:"distribution").
607
+ * Change one RFP turn: release it, request or cancel a proposal file, append feedback, or record its outcome. One of these per call; revise, endorse and attach a response with save_rfp.
608
+ *
609
+ * @example
610
+ * await client.saveRfpTurn(input, { idempotencyKey: 'stable-key' })
611
+ */
612
+ saveRfpTurn(input, options) { return this.request("save_rfp_turn", input, options); }
613
+ /** Change one RFP turn: release it, request or cancel a proposal file, append feedback, or record its outcome. One of these per call; revise, endorse and attach a response with save_rfp. Returns the data together with response headers and request ID. */
614
+ saveRfpTurnWithResponse(input, options) { return this.requestDetailed("save_rfp_turn", input, options); }
615
+ /**
616
+ * Save Seller identity, capabilities, Apostra listing, buyer-visible listing (mediaKit is a deprecated alias), Distribution's OpenAI challenge token, an admission, or the intake hold. Scope3 eligibility and Market Maker entitlements are read-only here. Read Distribution with get(kind:"distribution").
545
617
  *
546
618
  * @example
547
619
  * await client.saveSeller(input, { idempotencyKey: 'stable-key' })
548
620
  */
549
621
  saveSeller(input, options) { return this.request("save_seller", input, options); }
550
- /** Save Seller identity, capabilities, Apostra listing, buyer-visible listing (mediaKit is a deprecated alias), Distribution's OpenAI challenge token, or a seller-controlled admission. Scope3 eligibility and Market Maker entitlements are read-only here. Read Distribution with get(kind:"distribution"). Returns the data together with response headers and request ID. */
622
+ /** Save Seller identity, capabilities, Apostra listing, buyer-visible listing (mediaKit is a deprecated alias), Distribution's OpenAI challenge token, an admission, or the intake hold. Scope3 eligibility and Market Maker entitlements are read-only here. Read Distribution with get(kind:"distribution"). Returns the data together with response headers and request ID. */
551
623
  saveSellerWithResponse(input, options) { return this.requestDetailed("save_seller", input, options); }
552
624
  /**
553
625
  * Create, replace, or archive a signal. Managed writes need a complete draft; read before updates. Without sourceId, writes the seller catalog.