diff --git a/docs/endpoints/post-identity-buckets.md b/docs/endpoints/post-identity-buckets.md index 44ecfa783..9708fe0cf 100644 --- a/docs/endpoints/post-identity-buckets.md +++ b/docs/endpoints/post-identity-buckets.md @@ -13,6 +13,12 @@ Monitors rotated salt bucke Used by: This endpoint is used mainly by advertisers and data providers. For details, see [Advertiser/Data Provider Integration Overview](../guides/integration-advertiser-dataprovider-overview.md). +:::important +If you're using the latest version of `POST /v3/identity/map`, v3, you don't need to use `POST /identity/buckets` at all. You only need to use it if you're using the earlier version, `POST /v2/identity/map`. + +If you're using the earlier version, we recommend that you upgrade as soon as possible, to take advantage of improvements. +::: + ## Request Format `POST '{environment}/v2/identity/buckets'` diff --git a/docs/endpoints/post-identity-map-v3.md b/docs/endpoints/post-identity-map-v3.md new file mode 100644 index 000000000..0d7a977b0 --- /dev/null +++ b/docs/endpoints/post-identity-map-v3.md @@ -0,0 +1,196 @@ +--- +title: POST /identity/map +description: Maps DII to raw UID2s. +hide_table_of_contents: false +sidebar_position: 08 +displayed_sidebar: docs +--- + +import Link from '@docusaurus/Link'; + +# POST /identity/map + +Maps multiple email addresses, phone numbers, or their respective hashes to their raw UID2s. You can also use this endpoint to check for updates to opt-out information, check when a raw UID2 can be refreshed, or view the previous UID2 if the current UID2 is less than 90 days old. + +Used by: This endpoint is used mainly by advertisers and data providers. For details, see [Advertiser/Data Provider Integration Overview](../guides/integration-advertiser-dataprovider-overview.md). + +For details about the UID2 opt-out workflow and how users can opt out, see [User Opt-Out](../getting-started/gs-opt-out.md). + +## Version + +This documentation is for the latest version of this endpoint, version 3. + +If needed, documentation is also available for the previous version: see [POST /identity/map (v2)](post-identity-map.md). + +## Batch Size and Request Parallelization Requirements + +Here's what you need to know: + +- The maximum request size is 1MB. +- To map a large number of email addresses, phone numbers, or their respective hashes, send them in *sequential* batches with a maximum batch size of 5,000 items per batch. +- Unless you are using a Private Operator, do not send batches in parallel. In other words, use a single HTTP connection and send batches of hashed or unhashed directly identifying information (DII) values consecutively, without creating multiple parallel connections. +- Be sure to store mappings of email addresses, phone numbers, or their respective hashes.
Not storing mappings could increase processing time drastically when you have to map millions of email addresses or phone numbers. Recalculating only those mappings that actually need to be updated, however, reduces the total processing time because only about 1/365th of UID2s need to be updated daily. See also [Advertiser/Data Provider Integration Overview](../guides/integration-advertiser-dataprovider-overview.md) and [FAQs for Advertisers and Data Providers](../getting-started/gs-faqs.md#faqs-for-advertisers-and-data-providers). + +## Request Format + +`POST '{environment}/v3/identity/map'` + +For authentication details, see [Authentication and Authorization](../getting-started/gs-auth.md). + +:::important +You must encrypt all requests using your secret. For details, and code examples in different programming languages, see [Encrypting Requests and Decrypting Responses](../getting-started/gs-encryption-decryption.md). +::: + +### Path Parameters + +| Path Parameter | Data Type | Attribute | Description | +| :--- | :--- | :--- | :--- | +| `{environment}` | string | Required | Testing (integration) environment: `https://operator-integ.uidapi.com`
Production environment: The best choice depends on where your users are based. For information about how to choose the best URL for your use case, and a full list of valid base URLs, see [Environments](../getting-started/gs-environments.md). | + +:::note +The integration environment and the production environment require different API keys. For information about getting credentials for each environment, see [Getting Your Credentials](../getting-started/gs-credentials.md#getting-your-credentials). +::: + +### Unencrypted JSON Body Parameters + +:::important +Include one or more of the following four parameters as key-value pairs in the JSON body of the request when encrypting it. +::: + +| Body Parameter | Data Type | Attribute | Description | +|:---------------|:----------------------------|:-----------------------| :--- | +| `email` | string array | Conditionally Required | The list of email addresses to be mapped. | +| `email_hash` | string array | Conditionally Required | The list of [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#email-address-hash-encoding) hashes of [normalized](../getting-started/gs-normalization-encoding.md#email-address-normalization) email addresses to be mapped. | +| `phone` | string array | Conditionally Required | The list of [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization) phone numbers to be mapped. | +| `phone_hash` | string array | Conditionally Required | The list of [Base64-encoded SHA-256](../getting-started/gs-normalization-encoding.md#phone-number-hash-encoding) hashes of [normalized](../getting-started/gs-normalization-encoding.md#phone-number-normalization) phone numbers to be mapped. | + + +### Request Examples + +The following are unencrypted JSON request body examples to the `POST /identity/map` endpoint: + +```json +{ + "email":[ + "user@example.com", + "user2@example.com" + ], + "phone":[ + "+12345678901", + "+441234567890" + ] +} +``` + +```json +{ + "email_hash":[ + "tMmiiTI7IaAcPpQPFQ65uMVCWH8av9jw4cwf/F5HVRQ=", + "KzsrnOhCq4tqbGFMsflgS7ig1QLRr0nFJrcrEIlOlbU=" + ], + "phone_hash":[ + "EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4=", + "Rx8SW4ZyKqbPypXmswDNuq0SPxStFXBTG/yvPns/2NQ=" + ] +} +``` + +Here's an encrypted request example to the `POST /identity/map` endpoint for a phone number: + +```sh +echo '{"phone": ["+12345678901", "+441234567890"]}' | python3 uid2_request.py https://prod.uidapi.com/v3/identity/map [YOUR_CLIENT_API_KEY] [YOUR_CLIENT_SECRET] +``` + +For details, and code examples in different programming languages, see [Encrypting Requests and Decrypting Responses](../getting-started/gs-encryption-decryption.md). + +## Decrypted JSON Response Format + +:::note +The response is encrypted only if the HTTP status code is 200. Otherwise, the response is not encrypted. +::: + +A successful decrypted response returns the current raw UID2s, previous raw UID2s, and refresh timestamps for the specified email addresses, phone numbers, or their respective hashes. + +The response arrays preserve the order of input arrays. Each element in the response array maps directly to the element at the same index in the corresponding request array. This ensures that you can reliably associate results with their corresponding inputs based on array position. + +Input values that cannot be mapped to a raw UID2 are mapped to an error object with the reason for unsuccessful mapping. An unsuccessful mapping occurs if the DII is invalid or has been opted out from the UID2 ecosystem. In these cases, the response status is `success` but no raw UID2 is returned. + +The following example shows input and response. + +Input: + +```json +{ + "email": [ + "user@example.com" // Corresponding UID2 rotated in the last 90 days + "user2@example.com" // Corresponding UID2 rotated more than 90 days ago + "invalid email string" // Invalid identifier + "optout@example.com" // DII is opted out + ] +} +``` + +Response: + +```json +{ + "body":{ + "email": [ + { + "u": "AdvIvSiaum0P5s3X/7X8h8sz+OhF2IG8DNbEnkWSbYM=", + "p": "EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4=", + "r": 1735689600000 + }, + { + "u": "IbW4n6LIvtDj/8fCESlU0QG9K/fH63UdcTkJpAG8fIQ=", + "p": null, + "r": 1735862400000 + }, + { "e": "invalid identifier" }, + { "e": "optout" } + ], + "email_hash": [], + "phone": [], + "phone_hash": [] + }, + "status":"success" +} +``` + +### Response Body Properties + +The response body includes one or more of the properties shown in the following table. + +| Body Parameter | Data Type | Description | +|:---------------|:----------------------------|:------------------------------------------------------------------------------------------------| +| `email` | array of mapped DII objects | The list of mapped DII objects corresponding to the list of emails in the request. | +| `email_hash` | array of mapped DII objects | The list of mapped DII objects corresponding to the list of email hashes in the request. | +| `phone` | array of mapped DII objects | The list of mapped DII objects corresponding to the list of phone numbers in the request. | +| `phone_hash` | array of mapped DII objects | The list of mapped DII objects corresponding to the list of phone number hashes in the request. | + + +For successfully mapped DII, the mapped object includes the properties shown in the following table. + +| Property | Data Type | Description | +|:---------|:-----------|:--------------------------------------------------------------------------------------------------------------------------------------| +| `u` | string | The raw UID2 corresponding to the email or phone number provided in the request. | +| `p` | string | One of the following: | +| `r` | number | The Unix timestamp (in milliseconds) that indicates when the raw UID2 can be refreshed. | + +For unsuccessfully mapped input values, the mapped object includes the properties shown in the following table. + +| Property | Data Type | Description | +|:---------|:----------|:-----------------------------------------------------------------------------------------------------------------| +| `e` | string | The reason for being unable to map the DII to a raw UID2. One of two possible values: | + +### Response Status Codes + +The following table lists the `status` property values and their HTTP status code equivalents. + +| Status | HTTP Status Code | Description | +| :--- | :--- | :--- | +| `success` | 200 | The request was successful. The response will be encrypted. | +| `client_error` | 400 | The request had missing or invalid parameters.| +| `unauthorized` | 401 | The request did not include a bearer token, included an invalid bearer token, or included a bearer token unauthorized to perform the requested operation. | + +If the `status` value is anything other than `success`, the `message` field provides additional information about the issue. diff --git a/docs/endpoints/post-identity-map.md b/docs/endpoints/post-identity-map.md index 70b2bfb7c..ebb76227e 100644 --- a/docs/endpoints/post-identity-map.md +++ b/docs/endpoints/post-identity-map.md @@ -1,5 +1,5 @@ --- -title: POST /identity/map +title: POST /identity/map (v2) description: Maps DII to raw UID2s and salt bucket IDs. hide_table_of_contents: false sidebar_position: 08 @@ -7,7 +7,7 @@ sidebar_position: 08 import Link from '@docusaurus/Link'; -# POST /identity/map +# POST /identity/map (v2) Maps multiple email addresses, phone numbers, or their respective hashes to their raw UID2s and salt bucket IDs. You can also use this endpoint to check for updates to opt-out information. @@ -15,6 +15,14 @@ Used by: This endpoint is used mainly by advertisers and data providers. For det For details about the UID2 opt-out workflow and how users can opt out, see [User Opt-Out](../getting-started/gs-opt-out.md). +## Version + +This documentation is for version 2 of this endpoint, which is not the latest version. For the latest version, v3, see [POST /identity/map](post-identity-map-v3.md). + +:::note +If you're using the earlier version, we recommend that you upgrade as soon as possible, to take advantage of improvements. +::: + ## Batch Size and Request Parallelization Requirements Here's what you need to know: diff --git a/docs/endpoints/summary-endpoints.md b/docs/endpoints/summary-endpoints.md index b9ef57d8a..40cc94472 100644 --- a/docs/endpoints/summary-endpoints.md +++ b/docs/endpoints/summary-endpoints.md @@ -22,14 +22,32 @@ The following endpoints are for retrieving and managing UID2 tokens (identity to | [POST /token/validate](post-token-validate.md) | Used for testing, to validate that an advertising token (UID2) matches the specified email address, phone number, or the respective hash. | Required | Required | | [POST /token/refresh](post-token-refresh.md) | Generates a new token for a user for their refresh token from the [POST /token/generate](post-token-generate.md) response. | N/A | Required | -## Identity Maps +## Identity Map The following endpoints are used by advertisers and third-party data providers. Publishers do not need to use these endpoints. +### Latest Identity Map Endpoint (V3) + +In the latest identity map integration, you only need to call one endpoint, `POST /identity/map`. The `POST /identity/buckets` endpoint is not part of the workflow. + +:::important +If you're using the earlier version, we recommend that you upgrade as soon as possible, to take advantage of improvements. +::: + +The latest identity map integration uses the following endpoint: + +| Endpoint | Description | Request Encryption | Response Decryption | +| :--- | :--- | :--- | :--- | +| [POST /identity/map](post-identity-map-v3.md) | Maps raw UID2s, previous raw UID2s, and refresh timestamps for one or more email addresses, phone numbers, or their respective hashes. | Required | Required | + +### Earlier Identity Map Endpoints (V2) + +The following endpoints are part of the earlier identity map integration (version 2). + | Endpoint | Description | Request Encryption | Response Decryption | | :--- | :--- | :--- | :--- | | [POST /identity/buckets](post-identity-buckets.md) | Monitors rotated salt buckets using their last updated timestamp. | Required | Required | -| [POST /identity/map](post-identity-map.md) | Retrieves raw UID2s and salt bucket IDs for one or more email addresses, phone numbers, or their respective hashes. | Required | Required | +| [POST /identity/map (v2)](post-identity-map.md) | Maps raw UID2s and salt bucket IDs for one or more email addresses, phone numbers, or their respective hashes. | Required | Required | ## Opt-Out Status @@ -39,4 +57,4 @@ For details about the UID2 opt-out workflow and how users can opt out, see [User | Endpoint | Description | Request Encryption | Response Decryption | | :--- | :--- | :--- | :--- | -| [POST /optout/status](post-optout-status.md) | Checks the opt-out status of raw UID2s. This endpoint takes a list of raw UID2s as input, and returns the raw UID2s that have opted out, as well as the time that the opt-out took place. | Required | Required | +| [POST /optout/status](post-optout-status.md) | Checks the opt-out status of UID2s. This endpoint takes a list of UID2s as input, and returns the UID2s that have opted out, as well as the time that the opt-out took place. | Required | Required | diff --git a/docs/getting-started/gs-permissions.md b/docs/getting-started/gs-permissions.md index 4a76db34e..2ff27e0f2 100644 --- a/docs/getting-started/gs-permissions.md +++ b/docs/getting-started/gs-permissions.md @@ -26,4 +26,4 @@ The following table lists the key permissions, the types of participants that co | Generator | Publishers | Permission to call the [POST /token/generate](../endpoints/post-token-generate.md), [POST /token/validate](../endpoints/post-token-validate.md), and [POST /token/refresh](../endpoints/post-token-refresh.md) endpoints, to generate UID2 tokens from DII and to refresh them, using one of these integration methods: | | Bidder | DSPs | Permission to decrypt UID2 tokens coming in from the bidstream from publishers into raw UID2s for bidding purposes. | | Sharer | Any participant type that takes part in UID2 sharing. For details, see [UID2 Sharing: Overview](../sharing/sharing-overview.md). | Permission to do both of the following: | -| Mapper | Advertisers
Data Providers | Permission to use the [POST /identity/buckets](../endpoints/post-identity-buckets.md) endpoint to monitor rotated salt buckets and to use the [POST /identity/map](../endpoints/post-identity-map.md) endpoint to map multiple email addresses, phone numbers, or their respective hashes to their raw UID2s and salt bucket IDs. | +| Mapper | Advertisers
Data Providers | Permission to call the following endpoints to map multiple email addresses, phone numbers, or their respective hashes to their raw UID2s, previous raw UID2s, and refresh timestamps: | diff --git a/docs/guides/integration-advertiser-dataprovider-endpoints.md b/docs/guides/integration-advertiser-dataprovider-endpoints.md index 1f523e229..fc5d2eb30 100644 --- a/docs/guides/integration-advertiser-dataprovider-endpoints.md +++ b/docs/guides/integration-advertiser-dataprovider-endpoints.md @@ -62,8 +62,8 @@ DII refers to a user's normalized email address or phone number, or the normaliz | Step | Endpoint | Description | | --- | --- | --- | -| 1-a | [POST /identity/map](../endpoints/post-identity-map.md) request | Send a request containing DII to the identity mapping endpoint. | -| 1-b | [POST /identity/map](../endpoints/post-identity-map.md) response | The `advertising_id` (raw UID2) returned in the response can be used to target audiences on relevant DSPs.
The response returns a user's raw UID2 and the corresponding `bucket_id` for the salt bucket. The salt assigned to the bucket rotates annually, which impacts the generated raw UID2. For details on how to check for salt bucket rotation, see [5: Monitor for salt bucket rotations related to your stored raw UID2s](#5-monitor-for-salt-bucket-rotations-for-your-stored-raw-uid2s). | +| 1-a | [POST /identity/map (v2)](../endpoints/post-identity-map.md) request | Send a request containing DII to the identity mapping endpoint. | +| 1-b | [POST /identity/map (v2)](../endpoints/post-identity-map.md) response | The `advertising_id` (raw UID2) returned in the response can be used to target audiences on relevant DSPs.
The response returns a user's raw UID2 and the corresponding `bucket_id` for the salt bucket. The salt assigned to the bucket rotates annually, which impacts the generated raw UID2. For details on how to check for salt bucket rotation, see [5: Monitor for salt bucket rotations related to your stored raw UID2s](#5-monitor-for-salt-bucket-rotations-for-your-stored-raw-uid2s). | ### 2: Store Raw UID2s and Salt Bucket IDs @@ -105,8 +105,8 @@ The following table shows the steps for checking for salt bucket rotation. | --- | --- | --- | | 5-a | [POST /identity/buckets](../endpoints/post-identity-buckets.md) | Send a request to the `POST /identity/buckets` endpoint for all salt buckets that have changed since a specific timestamp. | | 5-b | [POST /identity/buckets](../endpoints/post-identity-buckets.md) | UID2 service: The `POST /identity/buckets` endpoint returns a list of `bucket_id` and `last_updated` timestamps. | -| 5-c | [POST /identity/map](../endpoints/post-identity-map.md) | Compare the returned `bucket_id` to the salt buckets of raw UID2s that you've cached.
If you find that the salt bucket was updated for one or more raw UID2s, re-send the DII to the `POST /identity/map` endpoint for a new raw UID2. | -| 5-d | [POST /identity/map](../endpoints/post-identity-map.md) | Store the new values returned for `advertising_id` and `bucket_id`. | +| 5-c | [POST /identity/map (v2)](../endpoints/post-identity-map.md) | Compare the returned `bucket_id` to the salt buckets of raw UID2s that you've cached.
If you find that the salt bucket was updated for one or more raw UID2s, re-send the DII to the `POST /identity/map (v2)` endpoint for a new raw UID2. | +| 5-d | [POST /identity/map (v2)](../endpoints/post-identity-map.md) | Store the new values returned for `advertising_id` and `bucket_id`. | #### Determine whether the salt bucket has been rotated @@ -126,7 +126,7 @@ It's important to honor user opt-out status. Periodically, monitor for opt-out s There are two ways that you can check with the UID2 Operator Service to make sure you have the latest opt-out information: -- Call the [POST /identity/map](../endpoints/post-identity-map.md) endpoint to check for opt-outs. If the DII has been opted out, no raw UID2 is generated. +- Call the [POST /identity/map (v2)](../endpoints/post-identity-map.md) endpoint to check for opt-outs. If the DII has been opted out, no raw UID2 is generated. - Check the opt-out status of raw UID2s using the [POST /optout/status](../endpoints/post-optout-status.md) endpoint. diff --git a/docs/guides/integration-advertiser-dataprovider-overview.md b/docs/guides/integration-advertiser-dataprovider-overview.md index 651abf6f2..e2536c6c8 100644 --- a/docs/guides/integration-advertiser-dataprovider-overview.md +++ b/docs/guides/integration-advertiser-dataprovider-overview.md @@ -49,7 +49,7 @@ The following table shows the implementation options that are available for adve | High-Level Step | Implementation Options | | --- | --- | -| [1: Generate Raw UID2s from DII](#1-generate-raw-uid2s-from-dii) | Use any of the following options to map DII to raw UID2s: | +| [1: Generate Raw UID2s from DII](#1-generate-raw-uid2s-from-dii) | Use any of the following options to map DII to raw UID2s: | | [2: Store Raw UID2s and Salt Bucket IDs](#2-store-raw-uid2s-and-salt-bucket-ids) | Custom (your choice). | | [3: Manipulate or Combine Raw UID2s](#3-manipulate-or-combine-raw-uid2s) | Custom (your choice). | | [4: Send Stored Raw UID2s to DSPs to Create Audiences or Conversions](#4-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions) | Custom (your choice). | @@ -85,7 +85,7 @@ To generate raw UID2s, use one of the following options: - AWS Entity Resolution: See [AWS Entity Resolution Integration Guide](integration-aws-entity-resolution.md). -- HTTP endpoints: [POST /identity/map](../endpoints/post-identity-map.md). For details, see [Generate Raw UID2s from DII](integration-advertiser-dataprovider-endpoints.md#1-generate-raw-uid2s-from-dii). +- HTTP endpoints: [POST /identity/map (v2)](../endpoints/post-identity-map.md). For details, see [Generate Raw UID2s from DII](integration-advertiser-dataprovider-endpoints.md#1-generate-raw-uid2s-from-dii). ### 2: Store Raw UID2s and Salt Bucket IDs @@ -150,7 +150,7 @@ It's important to honor user opt-out status. Periodically, monitor for opt-out s There are two ways that you can check with the UID2 Operator Service to make sure you have the latest opt-out information: -- Call the [POST /identity/map](../endpoints/post-identity-map.md) endpoint to check for opt-outs. If the DII has been opted out, no raw UID2 is generated. +- Call the [POST /identity/map (v2)](../endpoints/post-identity-map.md) endpoint to check for opt-outs. If the DII has been opted out, no raw UID2 is generated. - Check the opt-out status of raw UID2s using the [POST /optout/status](../endpoints/post-optout-status.md) endpoint. diff --git a/docs/ref-info/glossary-uid.md b/docs/ref-info/glossary-uid.md index 4e254b2d8..2869c7e65 100644 --- a/docs/ref-info/glossary-uid.md +++ b/docs/ref-info/glossary-uid.md @@ -417,10 +417,12 @@ import Link from '@docusaurus/Link';
Salt bucket
A salt bucket is used to manage secret salt values, used to generate raw UID2s or UID2 tokens, over time. Each bucket contains a single current salt value, which remains active for approximately one year before being rotated to a new value. Buckets can be updated independently of one another.
There are just over one million salt buckets, and each email address or phone number is assigned to a specific bucket in a deterministic manner. However, this assignment is not permanent; it might change when the bucket's current salt is rotated to a new value.
+
In versions of the [POST /identity/map](../endpoints/post-identity-map-v3.md) endpoint earlier than version 3, such as [POST /identity/map (v2)](../endpoints/post-identity-map.md), the endpoint returns salt bucket IDs. In v3 and later, salt bucket information is not needed.
Salt bucket ID
A salt bucket ID is a unique string of characters that identifies a specific salt bucket. The salt bucket ID can be used to check which salt buckets have recently had their salt values updated, indicating which emails or phone numbers need their raw UID2 values regenerated.
-
For an example of a salt bucket ID, see the response to the `POST /identity/buckets` endpoint: Decrypted JSON Response Format.
+
In versions of the [POST /identity/map](../endpoints/post-identity-map-v3.md) endpoint earlier than version 3, such as [POST /identity/map (v2)](../endpoints/post-identity-map.md), the endpoint returns salt bucket IDs. In v3 and later, salt bucket information is not needed.
+
For an example of a salt bucket ID, see the response to the `POST /v2/identity/buckets` endpoint: Decrypted JSON Response Format. If you're using `POST /v3/identity/map`, you don't need to use `POST /v2/identity/buckets` at all.
Salted hash
When a salt value is added to the input string before applying the hash function, the result is a salted hash. When the input value is salted before hashing, an attacker who has the hash cannot determine the input value by trying many possible inputs to arrive at the same output.
diff --git a/docs/ref-info/updates-doc.md b/docs/ref-info/updates-doc.md index e3b2e16bd..dffffec29 100644 --- a/docs/ref-info/updates-doc.md +++ b/docs/ref-info/updates-doc.md @@ -422,7 +422,7 @@ For details, see [UID2 Hashing Tool](../getting-started/gs-normalization-encodin February 28, 2024 -The Java SDK now supports Advertisers and Data Providers wanting to use the [POST /identity/map](../endpoints/post-identity-map.md) endpoint. +The Java SDK now supports Advertisers and Data Providers wanting to use the [POST /identity/map (v2)](../endpoints/post-identity-map.md) endpoint. For details, see the updated documentation in the *SDK for Java Reference Guide*: [Usage for Advertisers and Data Providers](../sdks/sdk-ref-java.md#usage-for-advertisersdata-providers). diff --git a/sidebars.js b/sidebars.js index 637ae41a6..8b4321c61 100644 --- a/sidebars.js +++ b/sidebars.js @@ -309,7 +309,7 @@ const fullSidebar = [ { type: 'category', - label: 'Endpoints (v2)', + label: 'Endpoints', link: { type: 'doc', id: 'endpoints/summary-endpoints', @@ -320,7 +320,18 @@ const fullSidebar = [ 'endpoints/post-token-validate', 'endpoints/post-token-refresh', 'endpoints/post-identity-buckets', - 'endpoints/post-identity-map', + { + type: 'category', + label: 'POST /identity/map', + link: { + type: 'doc', + id: 'endpoints/post-identity-map-v3', + }, + collapsed: true, + items: [ + 'endpoints/post-identity-map', + ], + }, 'endpoints/post-optout-status', ], }, @@ -399,6 +410,7 @@ const sidebars = { 'guides/dsp-guide', 'endpoints/post-identity-buckets', 'endpoints/post-identity-map', + 'endpoints/post-identity-map-v2', 'endpoints/post-optout-status' ),