Skip to content

Commit 51440bd

Browse files
atc964claude
andauthored
Docs freshness sweep: CHANGELOG backfill, version metadata, surface counts, deal-sync docs (#40)
* docs: backfill CHANGELOG into dated 2.1.0–2.3.3 releases; version 2.3.3 Cut the stale [Unreleased] blob into dated release sections assigned by tag history (git tag dates, first-parent merges per tag range), and add the missing 2.1.1–2.3.3 entries. [Unreleased] is left empty at the top for the next release's notes. Bump the long-stale pyproject version (0.1.0) to the current release, 2.3.3. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs: refresh stale surface counts — 46 MCP tools, 87 endpoints, 22 event types Counts drifted across README and docs while the auto-generated inventories (docs/reference/) stayed current. Bring every user-facing count in line with the live registries: 46 MCP tools (was 41), 87 REST endpoints across 25 OpenAPI tags (was 82/58/59 across 15–19), 22 event types (was 16/21). Regenerate the README tool-category and endpoint-group tables from the inventories (the old tables summed to 45 and 76 and cited two tools that no longer exist). Update the Bedrock model example in the configuration guide to the current id used by .env.example, and reword the reset_catalog_cache docstring to the deterministic uuid5 product-id contract (#37 — comment-only change). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs: surface reference inventories in nav; document the deal-sync subsystem Add a Reference section to the mkdocs nav linking the auto-generated inventories (REST endpoints, MCP tools, event types) that were previously orphaned, and add the Troubleshooting guide to the Publisher Guide section. Document the #32 deal-sync connector family (DealSyncClient / DealSyncRegistry, clients/deal_sync_base.py — a peer of the SSP registry) in the architecture overview's new Connector Layer section and in the README architecture diagram, linking the existing deals-api-mcp integration guide. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent fe6b093 commit 51440bd

13 files changed

Lines changed: 186 additions & 55 deletions

File tree

CHANGELOG.md

Lines changed: 100 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,43 @@ All notable changes to the IAB Tech Lab Seller Agent are documented here.
44

55
## [Unreleased]
66

7+
## [2.3.3] — 2026-07-29
8+
9+
### Fixed
10+
- Replaced the retired manager-LLM default: Anthropic retired
11+
`claude-opus-4-20250514` on June 15, 2026, so fresh installs using an
12+
Anthropic key failed with `model_not_found`. `MANAGER_LLM_MODEL` now
13+
defaults to `claude-opus-4-8` (Bedrock inference profile
14+
`us.anthropic.claude-opus-4-8`) across settings, `.env.example`, and
15+
the configuration guide. (#35)
16+
- Ported the surgical toolResult stripping from buyer-agent, restoring
17+
patch parity between the two agents. (#36)
18+
- Default-catalog product IDs are now derived deterministically
19+
(`uuid5` of the product name) instead of minted randomly on every
20+
catalog build, so product IDs are stable across restarts and cache
21+
resets. The reset-ids test was updated to the deterministic-ID
22+
contract. (#37, follow-up to issue #34)
23+
24+
## [2.3.2] — 2026-07-28
25+
26+
### Added
27+
- deals-api-mcp deal-sync integration (#32): a new deal-sync connector
28+
family — `DealSyncClient` ABC and `DealSyncRegistry`
29+
(`clients/deal_sync_base.py`), a peer of the SSP registry — with
30+
`DealsAPIMCPClient` pushing negotiated deals to the IAB
31+
[deals-api-mcp](https://github.com/IABTechLab/deals-api-mcp) server
32+
(IAB Deal Sync API v1.0) over MCP Streamable HTTP. See
33+
`docs/integration/deals-api-mcp.md`.
34+
35+
## [2.3.1] — 2026-07-22
36+
37+
### Fixed
38+
- Agent card (`/.well-known/agent.json`) advertises only the protocols
39+
the server actually serves; A2A documentation marked
40+
designed-not-implemented.
41+
42+
## [2.3.0] — 2026-07-22
43+
744
### Added
845
- OpenDirect 2.1 spec dialect on `POST /products/avails` (dialect
946
convergence, shared avails contract): the published
@@ -17,21 +54,62 @@ All notable changes to the IAB Tech Lab Seller Agent are documented here.
1754
byte-for-byte unchanged. Requested volume/budget arrive on the spec
1855
dialect as the contract's Investment `producttargeting` entries and
1956
feed the same honest-availability policy. Regenerated
20-
`docs/api/openapi.json`.
57+
`docs/api/openapi.json`. (primitives v0.5.0)
58+
59+
## [2.2.2] — 2026-07-22
60+
61+
### Fixed
62+
- Proposal availability is grounded in `check_avails`; volume
63+
shortfalls now produce a counter-offer instead of a rejection.
64+
- CSV inventory is included in the product catalog; `update_package`
65+
applies a field whitelist.
66+
67+
## [2.2.1] — 2026-07-22
68+
69+
### Fixed
70+
- Catalog-aware package resolution and idempotent inventory sync
71+
(issue #34).
72+
73+
## [2.2.0] — 2026-07-21
74+
75+
### Changed
2176
- Avails endpoint (`POST /products/avails`) adopted the shared avails wire
2277
contract: request/response models are now
2378
`iab_agentic_primitives.protocol.AvailsRequest`/`AvailsResponse`
2479
(re-exported through `ad_seller.interfaces.api.schemas`), the canonical
25-
home of the contract. Same wire dialect and field set.
26-
27-
### Changed
80+
home of the contract. Same wire dialect and field set. (primitives
81+
v0.4.0)
2882
- Avails responses no longer null-pad valueless optionals: per the shared
2983
contract policy, `deliveryConfidence` is omitted entirely (this
3084
reference seller has no forecast data source), `guaranteedImpressions`
3185
appears only for PG-capable products, and `availableTargeting` is
3286
omitted when the product declares no targeting dicts. Readers that
3387
parsed the previous explicit nulls parse the omitted form identically
3488
under the shared models. Regenerated `docs/api/openapi.json`.
89+
90+
### Added
91+
- Leak-prevention guardrails: git hooks and hygiene CI; internal issue
92+
tracker removed from the public tree.
93+
94+
## [2.1.1] — 2026-07-21
95+
96+
### Changed
97+
- Universal lowball counter: all below-floor offers are countered at
98+
floor rather than rejected (spec change).
99+
- Bounded proposal-flow latency with a deterministic fallback.
100+
101+
### Added
102+
- Cold-start negotiation surface: proposal persistence, quote-led
103+
opens, and booking honors `ACCEPTED` proposals.
104+
- Grounded quote availability and enriched catalog metadata.
105+
106+
### Fixed
107+
- Docs CI deploys without installing the app (private dependency); the
108+
OpenAPI artifact is committed.
109+
110+
## [2.1.0] — 2026-07-20
111+
112+
### Added
35113
- MCP Streamable HTTP transport at `/mcp` (current MCP standard, protocol 2025-06-18) — resolves buyer agent 405 errors on MCP connection
36114
- Legacy HTTP+SSE transport kept at `/mcp-sse/sse` for backwards compatibility with older Claude Desktop / ChatGPT clients
37115
- FreeWheel OAuth 2.1 PKCE authentication integration:
@@ -43,20 +121,38 @@ All notable changes to the IAB Tech Lab Seller Agent are documented here.
43121
- CSV ad server adapter with full CRUD and atomic writes (61 tests)
44122
- 9 MCP prompts (slash commands) for Claude Desktop/web (/setup, /status, /inventory, /deals, /queue, /new-deal, /configure, /buyers, /help)
45123
- 3 composite tools: get_inbound_queue, get_buyer_activity, list_configurable_flows
124+
- Avails endpoint `POST /products/avails` with honest-availability policy
125+
- Auto-generated tool/endpoint/event inventories (`docs/reference/`) with a CI drift guard
126+
- Tested quickstart: smoke test boots the documented entrypoint and asserts core routes respond
127+
- Server-side trust-tier verification with `VerifiedTrust` persisted on price-moving paths; agent-registry wiring
128+
- Threshold-driven mandatory approval gates; approval endpoints authenticated and stamped with the verified principal
46129
- Comprehensive unit tests (86 new tests) and integration tests (38 new tests)
47130
- Troubleshooting guide
48131
- Buyer agent compatibility report
49132

50133
### Changed
134+
- Service layer extracted: MCP tools, CLI, and chat interface are thin adapters over it; background REST sidecar removed from the AgentCore MCP entrypoint
135+
- Shared iab-agentic-primitives contracts adopted at the Quote, Deal-booking, Negotiation, and Catalog wire edges
136+
- OpenDirect tier-1 wire aliases on the public wire surface
137+
- Two-way main/v2 reconciliation: GAM adapter restored, LLM provider configuration unified
51138
- Renamed "Deal Jockey" to "Deal Library" across codebase and documentation
52139
- Linted and formatted entire codebase with ruff
53140
- Removed `FREEWHEEL_BC_CLIENT_ID` and `FREEWHEEL_BC_CLIENT_SECRET` settings (Beeswax uses session cookie auth, not OAuth client_credentials)
54141

55142
### Fixed
143+
- CPM hallucination: `pricing_type` enum + quote validation (#7)
144+
- Route shadowing: `/api/v1/deals/export` registered before `/{deal_id}`
145+
- Auth header binding in `_get_optional_api_key_record`; audit trail fails closed
146+
- `MANAGER_LLM_MODEL` default: `opus-4-20250514``sonnet-4-5-20250929` (#19)
147+
- CrewAI shutdown telemetry hang disabled; agent memory respects `crew_memory_enabled` (#21, #22)
148+
- Shared `Product.ad_formats` populated from `inventory_type`
56149
- Documentation tool count (41 MCP tools, not "45+")
57150
- Documentation endpoint count (82 REST endpoints, not "70+")
58151
- Port typo in media-kit guide (8001 → 8000)
59152

153+
### Removed
154+
- Unused `services/openrtb_parser.py` and `services/setup_wizard.py`; abandoned CrewAI tool subpackages (gam, pricing, proposal, availability, deal_library)
155+
60156
## [2.0.0] — 2026-03-23
61157

62158
### Added

README.md

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ An AI-powered inventory management system for **publishers and SSPs** to automat
88

99
## What This Does
1010

11-
- **Manage your seller agent from Claude** (desktop or web) — interactive setup wizard + 41 MCP tools for day-to-day operations
11+
- **Manage your seller agent from Claude** (desktop or web) — interactive setup wizard + 46 MCP tools for day-to-day operations
1212
- **Expose your inventory** via a tiered Media Kit with public and authenticated views
1313
- **Automate deal negotiations** with AI agents that understand your pricing rules
1414
- **Offer tiered pricing** based on buyer identity (public, seat, agency, advertiser)
@@ -29,9 +29,9 @@ The seller agent exposes four communication interfaces:
2929

3030
| Interface | Protocol | Use Case |
3131
|-----------|----------|----------|
32-
| **MCP** | `/mcp` (Streamable HTTP), `/mcp-sse/sse` (legacy) | Primary interface — 41 tools for Claude, ChatGPT, Codex, Cursor, and buyer agents |
32+
| **MCP** | `/mcp` (Streamable HTTP), `/mcp-sse/sse` (legacy) | Primary interface — 46 tools for Claude, ChatGPT, Codex, Cursor, and buyer agents |
3333
| **A2A** | `/a2a/{agent}/jsonrpc` | Conversational JSON-RPC 2.0 for natural language queries |
34-
| **REST** | `/api/v1/*` | Programmatic access — 82 endpoints across 15 groups |
34+
| **REST** | `/api/v1/*` | Programmatic access — 87 endpoints across 25 groups |
3535
| **Chat** | `/chat` | Web-based conversational interface for human buyers |
3636

3737
> [Protocol Documentation](https://iabtechlab.github.io/seller-agent/api/mcp/)
@@ -51,7 +51,7 @@ Buyer Agents ──→ A2A / REST ───────────────
5151
│ │ │
5252
▼ ▼ ▼
5353
Ad Server Layer Storage (SQLite/PG) Event Bus
54-
┌──────────────┐ (products, packages, (16 event types)
54+
┌──────────────┐ (products, packages, (22 event types)
5555
│ GAM ✅ │ orders, sessions,
5656
│ FreeWheel ✅ │ deals, curators)
5757
│ CSV ✅ │
@@ -67,6 +67,13 @@ Buyer Agents ──→ A2A / REST ───────────────
6767
│ Your SSP* │
6868
└──────────────────┘
6969
* Pluggable via SSPClient
70+
71+
Deal Sync
72+
┌──────────────────┐
73+
│ deals-api-mcp ✅ │
74+
│ Your service* │
75+
└──────────────────┘
76+
* Pluggable via DealSyncClient
7077
```
7178

7279
### Agent Hierarchy
@@ -121,20 +128,24 @@ The wizard guides you through: publisher identity → agent behavior → media k
121128
122129
## Key Features
123130

124-
### MCP Tools (41 tools for Claude / ChatGPT / Codex / Cursor)
131+
### MCP Tools (46 tools for Claude / ChatGPT / Codex / Cursor)
125132

126133
| Category | Tools | Examples |
127134
|----------|-------|---------|
128-
| Setup | 4 | `get_setup_status`, `health_check`, `get_config` |
129-
| Inventory | 4 | `list_products`, `sync_inventory`, `list_inventory` |
130-
| Media Kit | 3 | `list_packages`, `create_package`, `search_packages` |
131-
| Pricing | 4 | `get_rate_card`, `update_rate_card`, `get_pricing` |
132-
| Deals | 12 | `create_deal_from_template`, `push_deal_to_buyers`, `distribute_deal_via_ssp`, `migrate_deal`, `deprecate_deal`, `get_deal_lineage` |
135+
| Setup | 4 | `get_setup_status`, `health_check`, `get_config`, `set_publisher_identity` |
136+
| Inventory | 4 | `list_products`, `sync_inventory`, `list_inventory`, `get_sync_status` |
137+
| Media Kit | 2 | `list_packages`, `create_package` |
138+
| Pricing & Quotes | 4 | `get_rate_card`, `update_rate_card`, `get_pricing`, `request_quote` |
139+
| Deals | 9 | `create_deal_from_template`, `push_deal_to_buyers`, `migrate_deal`, `deprecate_deal`, `get_deal_lineage`, `export_deals`, `bulk_deal_operations` |
140+
| Orders & Reporting | 4 | `list_orders`, `transition_order`, `list_gam_orders`, `get_gam_delivery_report` |
133141
| Approvals | 3 | `list_pending_approvals`, `approve_or_reject`, `set_approval_gates` |
134-
| Buyer Agents | 4 | `list_buyer_agents`, `register_buyer_agent`, `set_agent_trust` |
135-
| Curators | 3 | `list_curators`, `create_curated_deal` |
136-
| SSPs | 3 | `list_ssps`, `distribute_deal`, `troubleshoot_deal` |
137-
| Admin | 5 | `create_api_key`, `list_api_keys`, `list_sessions` |
142+
| Buyer Agents | 4 | `list_buyer_agents`, `register_buyer_agent`, `set_agent_trust`, `list_agents` |
143+
| Curators | 2 | `list_curators`, `create_curated_deal` |
144+
| SSPs | 3 | `list_ssps`, `distribute_deal_via_ssp`, `troubleshoot_deal` |
145+
| Admin & Sessions | 4 | `create_api_key`, `list_api_keys`, `revoke_api_key`, `list_sessions` |
146+
| Composite | 3 | `get_inbound_queue`, `get_buyer_activity`, `list_configurable_flows` |
147+
148+
Full inventory: [MCP Tools reference](https://iabtechlab.github.io/seller-agent/reference/mcp-tools/).
138149

139150
### Deal Distribution (3 paths)
140151

@@ -200,28 +211,37 @@ INDEX_EXCHANGE_API_URL=https://api.indexexchange.com
200211

201212
## API Reference
202213

203-
82 endpoints across 15 groups:
214+
87 endpoints across 25 groups:
204215

205216
| Group | Endpoints | Description |
206217
|-------|-----------|-------------|
207218
| Media Kit | 4 | Public inventory catalog (no auth) |
208-
| Packages | 7 | Tier-gated package CRUD |
209-
| Products | 5 | Product catalog + inventory type overrides |
219+
| Packages | 7 | Tier-gated package CRUD, assembly, and sync |
220+
| Products | 6 | Product catalog, avails, inventory type overrides |
210221
| Quotes | 2 | Non-binding price quotes (IAB Deals API) |
211-
| Deal Booking | 12 | Deals, from-template, push, distribute, migrate, deprecate, lineage, export |
212-
| Proposals | 6 | Proposal lifecycle + counter-offers |
213-
| Orders | 8 | Order CRUD + state transitions |
214-
| Change Requests | 5 | Post-deal modification requests |
215-
| Supply Chain | 1 | sellers.json-like self-description |
222+
| Deal Booking | 11 | Deals, from-template, push, distribute, migrate, deprecate, lineage, export |
223+
| Deals | 1 | Deal creation from accepted proposals |
216224
| Deal Performance | 1 | Delivery metrics |
217225
| Bulk Operations | 1 | Batch deal create/update/cancel |
226+
| Proposals | 1 | Proposal submission |
227+
| Negotiation | 3 | Counter-offers + negotiation state and messages |
228+
| Discovery | 1 | Natural-language inventory discovery |
229+
| Audience | 1 | Agentic audience matching |
230+
| Orders | 6 | Order CRUD, history, transitions, reporting |
231+
| Audit | 1 | Order audit trail |
232+
| Change Requests | 5 | Post-deal modification requests |
233+
| Approvals | 4 | Human-in-the-loop approval decisions |
234+
| Supply Chain | 1 | sellers.json-like self-description |
218235
| Curators | 4 | Curator registration + curated deals |
219-
| Sessions | 4 | Multi-turn session persistence |
220-
| Authentication | 3 | API key management |
221-
| Agent Registry | 5 | Agent trust + discovery |
236+
| Sessions | 5 | Multi-turn session persistence |
237+
| Authentication | 4 | API key management |
238+
| Agent Registry | 6 | Agent card, trust + discovery |
222239
| Pricing | 3 | Rate card + pricing calculation |
223-
| Inventory Sync | 3 | Scheduler status, trigger, watermark |
224-
| Core | 2 | Health check + root |
240+
| Events | 2 | Event log queries |
241+
| Reporting | 2 | GAM orders + delivery reports |
242+
| Core | 5 | Health check, root, inventory-sync status/trigger/watermark |
243+
244+
Full inventory: [REST Endpoints reference](https://iabtechlab.github.io/seller-agent/reference/endpoints/).
225245

226246
> [Full API Reference](https://iabtechlab.github.io/seller-agent/api/overview/)
227247

docs/api/mcp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MCP (Model Context Protocol)
22

3-
MCP is the **primary interface** for the seller agent. Publishers manage their agent from Claude (desktop or web), ChatGPT, Codex, Cursor, or any MCP-compatible assistant via 41 tools. Buyer agents also call seller tools through MCP for automated workflows.
3+
MCP is the **primary interface** for the seller agent. Publishers manage their agent from Claude (desktop or web), ChatGPT, Codex, Cursor, or any MCP-compatible assistant via 46 tools. Buyer agents also call seller tools through MCP for automated workflows.
44

55
## Connection
66

docs/api/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# API Overview
22

3-
The Ad Seller System API exposes **59 endpoints** across **19 tags**. All endpoints are served from a single FastAPI application.
3+
The Ad Seller System API exposes **87 endpoints** across **25 tags**. All endpoints are served from a single FastAPI application. The complete auto-generated route inventory is in the [REST Endpoints reference](../reference/endpoints.md).
44

55
**Base URL:** `http://localhost:8000`
66
**OpenAPI docs:** `http://localhost:8000/docs`

docs/architecture/overview.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ graph LR
2020
subgraph "Seller Agent"
2121
MCP_S["/mcp/ (Streamable HTTP)<br/>MCP Server"]
2222
A2A_S["/a2a/seller/jsonrpc<br/>A2A Server"]
23-
REST_S["REST API<br/>58 endpoints"]
23+
REST_S["REST API<br/>87 endpoints"]
2424
NLP[NL Processing]
2525
TOOLS[Seller Tools]
2626
FLOWS[CrewAI Flows]
@@ -61,7 +61,7 @@ graph TB
6161
subgraph "Protocol Layer"
6262
MCP[MCP Server<br/>/mcp/ Streamable HTTP]
6363
A2A[A2A Server<br/>/a2a/seller/jsonrpc]
64-
API[REST API<br/>58 endpoints, 19 tags]
64+
API[REST API<br/>87 endpoints, 25 tags]
6565
end
6666
6767
AUTH[Auth & API Keys]
@@ -135,7 +135,7 @@ graph TB
135135

136136
### API Layer
137137

138-
**FastAPI application** with 58 endpoints across 19 OpenAPI tags. Handles HTTP routing, request validation, authentication, and response serialization. See [API Overview](../api/overview.md).
138+
**FastAPI application** with 87 endpoints across 25 OpenAPI tags. Handles HTTP routing, request validation, authentication, and response serialization. See [API Overview](../api/overview.md).
139139

140140
### Authentication and Agent Registry
141141

@@ -156,9 +156,17 @@ graph TB
156156
- **DealGenerationFlow** --- Converts accepted proposals into deals with OpenRTB parameters.
157157
- **DiscoveryInquiryFlow** --- Handles natural-language inventory queries from buyers.
158158

159+
### Connector Layer
160+
161+
Three pluggable connector families move inventory and deals between the seller agent and external systems:
162+
163+
- **AdServerClient** --- Inventory sync and deal setup in the publisher's ad server (Google Ad Manager, FreeWheel, CSV).
164+
- **SSPClient** --- Deal distribution through SSP exchanges to DSPs (PubMatic MCP, Index Exchange REST, Magnite REST).
165+
- **DealSyncClient** --- Deal sync through an external deal-sync service. Implementations register in the `DealSyncRegistry` (a peer of the SSP registry); the day-one implementation is `DealsAPIMCPClient`, which pushes negotiated deals to the IAB [deals-api-mcp](https://github.com/IABTechLab/deals-api-mcp) server (IAB Deal Sync API v1.0) over MCP Streamable HTTP. See [deals-api-mcp Integration](../integration/deals-api-mcp.md).
166+
159167
### Infrastructure
160168

161-
- **Event Bus** --- Emits and stores events for all system activity. 21 event types across 7 categories. See [Event Bus](../event-bus/overview.md).
169+
- **Event Bus** --- Emits and stores events for all system activity. 22 event types across 7 categories. See [Event Bus](../event-bus/overview.md).
162170
- **Order State Machine** --- Formal state machine with 12 states and 20 transitions. Full audit trail. See [Order Lifecycle](../state-machines/order-lifecycle.md).
163171
- **Change Request Manager** --- Handles post-deal modifications with severity classification and approval routing. See [Change Requests](../api/change-requests.md).
164172
- **Approval Gate** --- Human-in-the-loop approval workflow for proposals and high-value decisions.

docs/event-bus/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Each event contains:
7777
| Field | Type | Description |
7878
|-------|------|-------------|
7979
| `event_id` | string | UUID |
80-
| `event_type` | EventType | One of the 21 event types above |
80+
| `event_type` | EventType | One of the 22 event types above |
8181
| `timestamp` | datetime | When the event occurred |
8282
| `flow_id` | string | Associated workflow flow ID |
8383
| `flow_type` | string | Type of flow (e.g., `proposal_handling`) |

docs/getting-started/quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Expected response:
6262
6363
## Browse the API Docs
6464

65-
Open `http://localhost:8000/docs` in a browser for the auto-generated Swagger UI with all 58 endpoints.
65+
Open `http://localhost:8000/docs` in a browser for the auto-generated Swagger UI with all 87 endpoints.
6666

6767
## First API Calls
6868

@@ -118,6 +118,6 @@ Returns a confirmed deal with a Deal ID, OpenRTB parameters, and DSP activation
118118

119119
## Next Steps
120120

121-
- [API Overview](../api/overview.md) --- see all 58 endpoints
121+
- [API Overview](../api/overview.md) --- see all 87 endpoints
122122
- [Authentication](../api/authentication.md) --- set up API keys for authenticated access
123123
- [Buyer Agent Integration](../integration/buyer-agent.md) --- connect a buyer agent

0 commit comments

Comments
 (0)