From 1c3564b5e290d3e7f3b9641c2cdf43855b746a61 Mon Sep 17 00:00:00 2001 From: emilhlauritsenWT <99667747+emilhlauritsenWT@users.noreply.github.com> Date: Fri, 18 Sep 2026 09:31:50 +0200 Subject: [PATCH 1/4] feat: adding agentic audience proposal --- docs/00-EXAMPLE.md | 71 +++++++++++++++++++++++++++++++-- proto/agenticrtbframework.proto | 55 +++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 3 deletions(-) diff --git a/docs/00-EXAMPLE.md b/docs/00-EXAMPLE.md index 3adc1fd..5b07cbe 100644 --- a/docs/00-EXAMPLE.md +++ b/docs/00-EXAMPLE.md @@ -27,6 +27,7 @@ The Agentic RTB Framework (ARTF) defines a standard for implementing agent servi - **Deal Management** - Activate, suppress, and adjust deals dynamically - **Bid Shading** - Optimize bid prices using intelligent pricing strategies - **Metrics Addition** - Add viewability and other metrics to impressions +- **Data Segment Embeddings** - Attach Agentic Audiences data segments (optionally with embeddings) to the bid request ### Key Principles @@ -234,6 +235,36 @@ message DataPayload { } ``` +#### DataSegmentsPayload + +Used for Agentic Audiences data segments, optionally carrying embeddings in `segment[].ext.aa`. + +```protobuf +message DataSegmentsPayload { + repeated EmbeddingData data = 1; +} + +message EmbeddingData { + string name = 1; // Data.name = provider identifier + string id = 2; // Data.id (OPTIONAL) + repeated EmbeddingSegment segment = 3; +} + +message EmbeddingSegment { + string id = 1; + string name = 2; + AaEnvelope aa = 3; // segment[].ext.aa (OPTIONAL) +} + +message AaEnvelope { + string ver = 1; + string vector = 2; // base64 Float32 LE (RFC 4648) + uint32 dimension = 3; + string model = 4; + repeated uint32 type = 5; // 1=identity, 2=contextual, 3=reinforcement +} +``` + --- ## Intents and Operations @@ -251,6 +282,7 @@ message DataPayload { | 6 | `BID_SHADE` | Adjust the bid price of a specific bid | | 7 | `ADD_METRICS` | Add metrics to an impression | | 8 | `ADD_CIDS` | Add extended content IDs | +| 9 | `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | Add Agentic Audiences data segment(s) to the BidRequest, optionally with embeddings | ### Operation Enum @@ -273,6 +305,7 @@ message DataPayload { | `BID_SHADE` | AdjustBidPayload | `/seatbid/{seat}/bid/{bidId}` | | `ADD_METRICS` | MetricsPayload | `/imp/{id}` | | `ADD_CIDS` | DataPayload | `/site/content/data` (`data.ext.cids`) | +| `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | DataSegmentsPayload | `/user/data` | Detailed guides for each intent live in `docs/intents/`. @@ -421,7 +454,8 @@ The container image must include an `agent-manifest` label with JSON metadata: "ACTIVATE_DEALS", "SUPPRESS_DEALS", "ADJUST_DEAL_FLOOR", - "BID_SHADE" + "BID_SHADE", + "ADD_DATA_SEGMENT_WITH_EMBEDDINGS" ], "dependencies": {}, "health": { @@ -495,17 +529,48 @@ The container image must include an `agent-manifest` label with JSON metadata: } ``` +### Add Data Segment With Embeddings + +```json +{ + "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS", + "op": "OPERATION_ADD", + "path": "/user/data", + "data_segments": { + "data": [ + { + "name": "data-provider", + "segment": [ + { + "id": "seg-ctx-001", + "name": "descriptive-name", + "aa": { + "ver": "1.0.0", + "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=", + "dimension": 8, + "model": "sbert-mini-ctx-001", + "type": [2] + } + } + ] + } + ] + } +} +``` + --- ## References - [IAB Tech Lab Agentic RTB Framework v1.0](https://iabtechlab.com/standards/artf/) - [OpenRTB v2.6 Specification](https://iabtechlab.com/standards/openrtb/) +- [IAB OpenRTB Agentic Audiences community extension](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/community_extensions/agentic-audiences.md) - [gRPC Documentation](https://grpc.io/docs/) - [Protocol Buffers](https://protobuf.dev/) - [OCI Container Specification](https://opencontainers.org/) --- -*Document Version: 1.0.0* -*Last Updated: November 2025* +*Document Version: 1.1.0* +*Last Updated: September 2026* diff --git a/proto/agenticrtbframework.proto b/proto/agenticrtbframework.proto index e3be382..0c061ed 100644 --- a/proto/agenticrtbframework.proto +++ b/proto/agenticrtbframework.proto @@ -101,6 +101,9 @@ message Mutation { // Content data DataPayload content_data = 104; + + // Agentic Audiences data segment(s), optionally with embeddings + DataSegmentsPayload data_segments = 105; } // Reserved for experimental/test payloads @@ -143,6 +146,9 @@ enum Intent { // Add extended content IDs ADD_CIDS = 8; + // Add Agentic Audiences data segment(s) to the BidRequest + ADD_DATA_SEGMENT_WITH_EMBEDDINGS = 9; + // More intents can be added in the future // Reserved for experimental/test intents @@ -202,3 +208,52 @@ message DataPayload { // List of data to add repeated com.iabtechlab.openrtb.v2.BidRequest.Data data = 1; } + +// DataSegmentsPayload carries OpenRTB Data objects that may include Agentic +// Audiences embeddings (segment[].ext.aa). Maps onto BidRequest.user.data[]. +message DataSegmentsPayload { + // OpenRTB Data[] at Mutation.path (typically /user/data) + repeated EmbeddingData data = 1; +} + +// EmbeddingData models an OpenRTB Data object used as an Agentic Audiences carrier. +message EmbeddingData { + // Data.name = provider identifier + string name = 1; + + // Data.id (OPTIONAL) + string id = 2; + + repeated EmbeddingSegment segment = 3; +} + +// EmbeddingSegment models an OpenRTB Segment object, optionally with aa envelope. +message EmbeddingSegment { + // segment[].id + string id = 1; + + // segment[].name + string name = 2; + + // segment[].ext.aa (OPTIONAL) — Agentic Audiences community extension + AaEnvelope aa = 3; +} + +// AaEnvelope models segment[].ext.aa from the IAB OpenRTB Agentic Audiences +// community extension (ver, vector, dimension, model, type). +message AaEnvelope { + // Embedding schema/spec version, e.g. "1.0.0" + string ver = 1; + + // Base64-encoded Float32 little-endian vector (RFC 4648) + string vector = 2; + + // Number of Float32 values (decoded byte length / 4) + uint32 dimension = 3; + + // Producing model identifier, e.g. "sbert-mini-ctx-001" + string model = 4; + + // Signal type codes: 1=identity, 2=contextual, 3=reinforcement + repeated uint32 type = 5; +} From 9a97abd24d4d44cb3105b12dc6e4993090144473 Mon Sep 17 00:00:00 2001 From: emilhlauritsenWT <99667747+emilhlauritsenWT@users.noreply.github.com> Date: Mon, 28 Sep 2026 10:59:24 +0200 Subject: [PATCH 2/4] feat: updated based on comments --- docs/00-EXAMPLE.md | 57 ++++++++++---------------------- proto/agenticrtbframework.proto | 58 +++------------------------------ 2 files changed, 21 insertions(+), 94 deletions(-) diff --git a/docs/00-EXAMPLE.md b/docs/00-EXAMPLE.md index 5b07cbe..decdd9b 100644 --- a/docs/00-EXAMPLE.md +++ b/docs/00-EXAMPLE.md @@ -27,7 +27,7 @@ The Agentic RTB Framework (ARTF) defines a standard for implementing agent servi - **Deal Management** - Activate, suppress, and adjust deals dynamically - **Bid Shading** - Optimize bid prices using intelligent pricing strategies - **Metrics Addition** - Add viewability and other metrics to impressions -- **Data Segment Embeddings** - Attach Agentic Audiences data segments (optionally with embeddings) to the bid request +- **Data Segment Embeddings** - Attach Agentic Audiences data segments with required embeddings to the bid request ### Key Principles @@ -227,7 +227,9 @@ message MetricsPayload { #### DataPayload -Used for adding content data, including content IDs in `data.ext.cids`. +Used for content data (`ADD_CIDS`) and for Agentic Audiences segments with embeddings (`ADD_DATA_SEGMENT_WITH_EMBEDDINGS`) via the `content_data` field. + +For `ADD_DATA_SEGMENT_WITH_EMBEDDINGS`, each `data.segment` **must** include `ext.aa` (OpenRTB Agentic Audiences envelope; see [openrtb2.x#188](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/pull/188)). ```protobuf message DataPayload { @@ -235,35 +237,7 @@ message DataPayload { } ``` -#### DataSegmentsPayload - -Used for Agentic Audiences data segments, optionally carrying embeddings in `segment[].ext.aa`. - -```protobuf -message DataSegmentsPayload { - repeated EmbeddingData data = 1; -} - -message EmbeddingData { - string name = 1; // Data.name = provider identifier - string id = 2; // Data.id (OPTIONAL) - repeated EmbeddingSegment segment = 3; -} - -message EmbeddingSegment { - string id = 1; - string name = 2; - AaEnvelope aa = 3; // segment[].ext.aa (OPTIONAL) -} - -message AaEnvelope { - string ver = 1; - string vector = 2; // base64 Float32 LE (RFC 4648) - uint32 dimension = 3; - string model = 4; - repeated uint32 type = 5; // 1=identity, 2=contextual, 3=reinforcement -} -``` +See [docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md](intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md) for intent-specific usage. --- @@ -282,7 +256,7 @@ message AaEnvelope { | 6 | `BID_SHADE` | Adjust the bid price of a specific bid | | 7 | `ADD_METRICS` | Add metrics to an impression | | 8 | `ADD_CIDS` | Add extended content IDs | -| 9 | `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | Add Agentic Audiences data segment(s) to the BidRequest, optionally with embeddings | +| 9 | `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | Add Agentic Audiences data segment(s) with required embeddings to the BidRequest | ### Operation Enum @@ -305,7 +279,7 @@ message AaEnvelope { | `BID_SHADE` | AdjustBidPayload | `/seatbid/{seat}/bid/{bidId}` | | `ADD_METRICS` | MetricsPayload | `/imp/{id}` | | `ADD_CIDS` | DataPayload | `/site/content/data` (`data.ext.cids`) | -| `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | DataSegmentsPayload | `/user/data` | +| `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | DataPayload (`content_data`) | `/user/data` | Detailed guides for each intent live in `docs/intents/`. @@ -536,7 +510,7 @@ The container image must include an `agent-manifest` label with JSON metadata: "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS", "op": "OPERATION_ADD", "path": "/user/data", - "data_segments": { + "content_data": { "data": [ { "name": "data-provider", @@ -544,12 +518,14 @@ The container image must include an `agent-manifest` label with JSON metadata: { "id": "seg-ctx-001", "name": "descriptive-name", - "aa": { - "ver": "1.0.0", - "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=", - "dimension": 8, - "model": "sbert-mini-ctx-001", - "type": [2] + "ext": { + "aa": { + "ver": "1.0.0", + "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=", + "dimension": 8, + "model": "sbert-mini-ctx-001", + "type": [2] + } } } ] @@ -566,6 +542,7 @@ The container image must include an `agent-manifest` label with JSON metadata: - [IAB Tech Lab Agentic RTB Framework v1.0](https://iabtechlab.com/standards/artf/) - [OpenRTB v2.6 Specification](https://iabtechlab.com/standards/openrtb/) - [IAB OpenRTB Agentic Audiences community extension](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/community_extensions/agentic-audiences.md) +- [OpenRTB protobuf `Segment.ext.aa` (openrtb2.x#188)](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/pull/188) - [gRPC Documentation](https://grpc.io/docs/) - [Protocol Buffers](https://protobuf.dev/) - [OCI Container Specification](https://opencontainers.org/) diff --git a/proto/agenticrtbframework.proto b/proto/agenticrtbframework.proto index 0c061ed..24b63d9 100644 --- a/proto/agenticrtbframework.proto +++ b/proto/agenticrtbframework.proto @@ -99,11 +99,9 @@ message Mutation { // Metrics or telemetry data MetricsPayload metrics = 103; - // Content data + // Content data (also used by ADD_DATA_SEGMENT_WITH_EMBEDDINGS; + // each segment must include ext.aa — see OpenRTB Segment.ext.aa) DataPayload content_data = 104; - - // Agentic Audiences data segment(s), optionally with embeddings - DataSegmentsPayload data_segments = 105; } // Reserved for experimental/test payloads @@ -146,7 +144,8 @@ enum Intent { // Add extended content IDs ADD_CIDS = 8; - // Add Agentic Audiences data segment(s) to the BidRequest + // Add Agentic Audiences data segment(s) with required embeddings to the BidRequest + // Uses DataPayload (content_data); each segment must include ext.aa ADD_DATA_SEGMENT_WITH_EMBEDDINGS = 9; // More intents can be added in the future @@ -208,52 +207,3 @@ message DataPayload { // List of data to add repeated com.iabtechlab.openrtb.v2.BidRequest.Data data = 1; } - -// DataSegmentsPayload carries OpenRTB Data objects that may include Agentic -// Audiences embeddings (segment[].ext.aa). Maps onto BidRequest.user.data[]. -message DataSegmentsPayload { - // OpenRTB Data[] at Mutation.path (typically /user/data) - repeated EmbeddingData data = 1; -} - -// EmbeddingData models an OpenRTB Data object used as an Agentic Audiences carrier. -message EmbeddingData { - // Data.name = provider identifier - string name = 1; - - // Data.id (OPTIONAL) - string id = 2; - - repeated EmbeddingSegment segment = 3; -} - -// EmbeddingSegment models an OpenRTB Segment object, optionally with aa envelope. -message EmbeddingSegment { - // segment[].id - string id = 1; - - // segment[].name - string name = 2; - - // segment[].ext.aa (OPTIONAL) — Agentic Audiences community extension - AaEnvelope aa = 3; -} - -// AaEnvelope models segment[].ext.aa from the IAB OpenRTB Agentic Audiences -// community extension (ver, vector, dimension, model, type). -message AaEnvelope { - // Embedding schema/spec version, e.g. "1.0.0" - string ver = 1; - - // Base64-encoded Float32 little-endian vector (RFC 4648) - string vector = 2; - - // Number of Float32 values (decoded byte length / 4) - uint32 dimension = 3; - - // Producing model identifier, e.g. "sbert-mini-ctx-001" - string model = 4; - - // Signal type codes: 1=identity, 2=contextual, 3=reinforcement - repeated uint32 type = 5; -} From c51f33740084122c19167982002558000975fc35 Mon Sep 17 00:00:00 2001 From: emilhlauritsenWT <99667747+emilhlauritsenWT@users.noreply.github.com> Date: Mon, 28 Sep 2026 10:59:35 +0200 Subject: [PATCH 3/4] feat: add more explanatory example docs --- .../ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md diff --git a/docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md b/docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md new file mode 100644 index 0000000..4889cf3 --- /dev/null +++ b/docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md @@ -0,0 +1,55 @@ +# ADD_DATA_SEGMENT_WITH_EMBEDDINGS + +Attaches user data segments carrying Agentic Audiences embeddings. + +**Payload:** `DataPayload` via the `content_data` field. Each segment **must** include `ext.aa`. + +**Eligible paths:** +- `/user/data` — targets the user. + +**Payload fields:** +- `data`: list of OpenRTB Data objects to attach to the user +- `data.name`: data provider name +- `data.segment`: segments from the provider +- `data.segment.id`: segment identifier +- `data.segment.name`: segment name +- `data.segment.ext.aa`: **required** Agentic Audiences embedding envelope + - `ver` — embedding schema/spec version + - `vector` — base64 Float32 little-endian (RFC 4648) + - `dimension` — number of Float32 values + - `model` — producing model identifier + - `type` — signal types: `1`=identity, `2`=contextual, `3`=reinforcement + +**Dependency:** OpenRTB protobuf `Segment.ext.aa` — [openrtb2.x#188](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/pull/188). + +## Example mutation + +```json +{ + "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS", + "op": "OPERATION_ADD", + "path": "/user/data", + "content_data": { + "data": [ + { + "name": "data-provider", + "segment": [ + { + "id": "seg-ctx-001", + "name": "descriptive-name", + "ext": { + "aa": { + "ver": "1.0.0", + "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=", + "dimension": 8, + "model": "sbert-mini-ctx-001", + "type": [2] + } + } + } + ] + } + ] + } +} +``` From ec63c4b5f44b97ed7a95f03fc2fe08cd07d40cda Mon Sep 17 00:00:00 2001 From: emilhlauritsenWT <99667747+emilhlauritsenWT@users.noreply.github.com> Date: Fri, 2 Oct 2026 09:39:47 +0200 Subject: [PATCH 4/4] fix: rename to ADD_EMBEDDINGS --- docs/00-EXAMPLE.md | 40 +++++++++---------- ...T_WITH_EMBEDDINGS.md => add-embeddings.md} | 6 +-- proto/agenticrtbframework.proto | 6 +-- 3 files changed, 26 insertions(+), 26 deletions(-) rename docs/intents/{ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md => add-embeddings.md} (88%) diff --git a/docs/00-EXAMPLE.md b/docs/00-EXAMPLE.md index decdd9b..fb18f73 100644 --- a/docs/00-EXAMPLE.md +++ b/docs/00-EXAMPLE.md @@ -27,7 +27,7 @@ The Agentic RTB Framework (ARTF) defines a standard for implementing agent servi - **Deal Management** - Activate, suppress, and adjust deals dynamically - **Bid Shading** - Optimize bid prices using intelligent pricing strategies - **Metrics Addition** - Add viewability and other metrics to impressions -- **Data Segment Embeddings** - Attach Agentic Audiences data segments with required embeddings to the bid request +- **Embeddings** - Attach Agentic Audiences data segments with required embeddings to the bid request ### Key Principles @@ -227,9 +227,9 @@ message MetricsPayload { #### DataPayload -Used for content data (`ADD_CIDS`) and for Agentic Audiences segments with embeddings (`ADD_DATA_SEGMENT_WITH_EMBEDDINGS`) via the `content_data` field. +Used for content data (`ADD_CIDS`) and for Agentic Audiences segments with embeddings (`ADD_EMBEDDINGS`) via the `data` field. -For `ADD_DATA_SEGMENT_WITH_EMBEDDINGS`, each `data.segment` **must** include `ext.aa` (OpenRTB Agentic Audiences envelope; see [openrtb2.x#188](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/pull/188)). +For `ADD_EMBEDDINGS`, each `data.segment` **must** include `ext.aa` (OpenRTB Agentic Audiences envelope; see [openrtb2.x#188](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/pull/188)). ```protobuf message DataPayload { @@ -237,7 +237,7 @@ message DataPayload { } ``` -See [docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md](intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md) for intent-specific usage. +See [docs/intents/add-embeddings.md](intents/add-embeddings.md) for intent-specific usage. --- @@ -245,18 +245,18 @@ See [docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md](intents/ADD_DATA_SEGMENT_ ### Intent Enum -| Value | Name | Description | -|-------|----------------------|------------------------------------------------| -| 0 | `INTENT_UNSPECIFIED` | Unspecified (invalid) | -| 1 | `ACTIVATE_SEGMENTS` | Activate user segments by external segment IDs | -| 2 | `ACTIVATE_DEALS` | Activate deals by external deal IDs | -| 3 | `SUPPRESS_DEALS` | Suppress deals by external deal IDs | -| 4 | `ADJUST_DEAL_FLOOR` | Adjust the bid floor of a specific deal | -| 5 | `ADJUST_DEAL_MARGIN` | Adjust the deal margin of a specific deal | -| 6 | `BID_SHADE` | Adjust the bid price of a specific bid | -| 7 | `ADD_METRICS` | Add metrics to an impression | -| 8 | `ADD_CIDS` | Add extended content IDs | -| 9 | `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | Add Agentic Audiences data segment(s) with required embeddings to the BidRequest | +| Value | Name | Description | +|-------|----------------------|-------------------------------------------------------| +| 0 | `INTENT_UNSPECIFIED` | Unspecified (invalid) | +| 1 | `ACTIVATE_SEGMENTS` | Activate user segments by external segment IDs | +| 2 | `ACTIVATE_DEALS` | Activate deals by external deal IDs | +| 3 | `SUPPRESS_DEALS` | Suppress deals by external deal IDs | +| 4 | `ADJUST_DEAL_FLOOR` | Adjust the bid floor of a specific deal | +| 5 | `ADJUST_DEAL_MARGIN` | Adjust the deal margin of a specific deal | +| 6 | `BID_SHADE` | Adjust the bid price of a specific bid | +| 7 | `ADD_METRICS` | Add metrics to an impression | +| 8 | `ADD_CIDS` | Add extended content IDs | +| 9 | `ADD_EMBEDDINGS` | Add Agentic Audiences data segment(s) with embeddings | ### Operation Enum @@ -279,7 +279,7 @@ See [docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md](intents/ADD_DATA_SEGMENT_ | `BID_SHADE` | AdjustBidPayload | `/seatbid/{seat}/bid/{bidId}` | | `ADD_METRICS` | MetricsPayload | `/imp/{id}` | | `ADD_CIDS` | DataPayload | `/site/content/data` (`data.ext.cids`) | -| `ADD_DATA_SEGMENT_WITH_EMBEDDINGS` | DataPayload (`content_data`) | `/user/data` | +| `ADD_EMBEDDINGS` | DataPayload | `/user/data` | Detailed guides for each intent live in `docs/intents/`. @@ -429,7 +429,7 @@ The container image must include an `agent-manifest` label with JSON metadata: "SUPPRESS_DEALS", "ADJUST_DEAL_FLOOR", "BID_SHADE", - "ADD_DATA_SEGMENT_WITH_EMBEDDINGS" + "ADD_EMBEDDINGS" ], "dependencies": {}, "health": { @@ -503,11 +503,11 @@ The container image must include an `agent-manifest` label with JSON metadata: } ``` -### Add Data Segment With Embeddings +### Add Embeddings ```json { - "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS", + "intent": "ADD_EMBEDDINGS", "op": "OPERATION_ADD", "path": "/user/data", "content_data": { diff --git a/docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md b/docs/intents/add-embeddings.md similarity index 88% rename from docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md rename to docs/intents/add-embeddings.md index 4889cf3..a12f08d 100644 --- a/docs/intents/ADD_DATA_SEGMENT_WITH_EMBEDDINGS.md +++ b/docs/intents/add-embeddings.md @@ -1,8 +1,8 @@ -# ADD_DATA_SEGMENT_WITH_EMBEDDINGS +# ADD_EMBEDDINGS Attaches user data segments carrying Agentic Audiences embeddings. -**Payload:** `DataPayload` via the `content_data` field. Each segment **must** include `ext.aa`. +**Payload:** `DataPayload` via the `data` field. Each segment **must** include `ext.aa`. **Eligible paths:** - `/user/data` — targets the user. @@ -26,7 +26,7 @@ Attaches user data segments carrying Agentic Audiences embeddings. ```json { - "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS", + "intent": "ADD_EMBEDDINGS", "op": "OPERATION_ADD", "path": "/user/data", "content_data": { diff --git a/proto/agenticrtbframework.proto b/proto/agenticrtbframework.proto index 24b63d9..2477d32 100644 --- a/proto/agenticrtbframework.proto +++ b/proto/agenticrtbframework.proto @@ -99,7 +99,7 @@ message Mutation { // Metrics or telemetry data MetricsPayload metrics = 103; - // Content data (also used by ADD_DATA_SEGMENT_WITH_EMBEDDINGS; + // Content data (also used by ADD_EMBEDDINGS; // each segment must include ext.aa — see OpenRTB Segment.ext.aa) DataPayload content_data = 104; } @@ -144,9 +144,9 @@ enum Intent { // Add extended content IDs ADD_CIDS = 8; - // Add Agentic Audiences data segment(s) with required embeddings to the BidRequest + // Add Agentic Audiences embeddings to BidRequest.user.data segments // Uses DataPayload (content_data); each segment must include ext.aa - ADD_DATA_SEGMENT_WITH_EMBEDDINGS = 9; + ADD_EMBEDDINGS = 9; // More intents can be added in the future