Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/endpoints/post-identity-buckets.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Used by: This endpoint is used mainly by advertisers and data providers. For det
:::important
If you're using the latest version (v3) of `POST /v3/identity/map`, you don't need to use `POST /identity/buckets` at all. You only need to use it if you're using the earlier version (v2) of `POST /v2/identity/map`.

If you're using the v2 version, we recommend that you upgrade as soon as possible, to take advantage of improvements. For migration guidance, see [Migration from v2 Identity Map](post-identity-map.md#migration-from-v2-identity-map).
If you're using the v2 version, we recommend that you upgrade as soon as possible, to take advantage of improvements. For migration guidance, see [Migration from POST /v2/identity/map](post-identity-map.md#migration-from-post-v2identitymap).
:::

## Request Format
Expand Down
14 changes: 7 additions & 7 deletions docs/endpoints/post-identity-map-v2.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: POST /identity/map (v2)
title: POST /v2/identity/map
description: Maps DII to raw UID2s and salt bucket IDs.
hide_table_of_contents: false
sidebar_position: 07
---

import Link from '@docusaurus/Link';

# POST /identity/map (v2)
# POST /v2/identity/map

Maps multiple email addresses, phone numbers, or their respective hashes to their raw UID2s and <Link href="../ref-info/glossary-uid#gl-salt-bucket-id">salt bucket IDs</Link>. You can also use this endpoint to check for updates to opt-out information.

Expand All @@ -17,10 +17,10 @@ For details about the UID2 opt-out workflow and how users can opt out, see [User

## 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.md).
This documentation is for version 2 of this endpoint, which is not the latest version. For the latest version, v3, see [POST /v3/identity/map](post-identity-map.md).

:::note
If you're using an earlier version, we recommend that you upgrade as soon as possible, to take advantage of improvements. For migration guidance, see [Migration from v2 Identity Map](post-identity-map.md#migration-from-v2-identity-map). For deprecation information, see [Deprecation Schedule: Endpoint Versions](../ref-info/deprecation-schedule.md#endpoint-versions).
If you're using an earlier version, we recommend that you upgrade as soon as possible, to take advantage of improvements. For migration guidance, see [Migration from POST /v2/identity/map](post-identity-map.md#migration-from-post-v2identitymap). For deprecation information, see [Deprecation Schedule: Endpoint Versions](../ref-info/deprecation-schedule.md#endpoint-versions).
:::

## Batch Size and Request Parallelization Requirements
Expand All @@ -33,7 +33,7 @@ Here's what you need to know:

## Rate Limiting

To ensure fair usage and platform stability, the `POST /identity/map` endpoint enforces rate limits to safeguard against bursts of incoming traffic. If you send many requests in quick succession, you might receive `429` error responses.
To ensure fair usage and platform stability, the `POST /v2/identity/map` endpoint enforces rate limits to safeguard against bursts of incoming traffic. If you send many requests in quick succession, you might receive `429` error responses.

To handle rate limit errors gracefully, we recommend implementing [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) with random jitter when retrying requests. To maximize throughput within the limit, use the maximum batch size of 5,000 items per request rather than sending many small requests.

Expand Down Expand Up @@ -72,7 +72,7 @@ You must include only **one** of the following four conditional parameters as a

### Request Examples

The following are unencrypted JSON request body examples for each parameter, one of which you should include in your requests to the `POST /identity/map` endpoint:
The following are unencrypted JSON request body examples for each parameter, one of which you should include in your requests to the `POST /v2/identity/map` endpoint:

```json
{
Expand Down Expand Up @@ -107,7 +107,7 @@ The following are unencrypted JSON request body examples for each parameter, one
}
```

Here's an encrypted request example to the `POST /identity/map` endpoint for a phone number:
Here's an encrypted request example to the `POST /v2/identity/map` endpoint for a phone number:

```sh
echo '{"phone": ["+12345678901", "+441234567890"]}' | python3 uid2_request.py https://prod.uidapi.com/v2/identity/map [Your-Client-API-Key] [Your-Client-Secret]
Expand Down
8 changes: 4 additions & 4 deletions docs/endpoints/post-identity-map.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: POST /identity/map
title: POST /v3/identity/map
description: Maps DII to raw UID2s.
hide_table_of_contents: false
sidebar_position: 08
Expand All @@ -9,7 +9,7 @@ displayed_sidebar: docs
import Link from '@docusaurus/Link';
import SnptPOSTIdentityMapImprovements from '../snippets/_snpt-post-identity-map-improvements-v3.mdx';

# POST /identity/map
# POST /v3/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.

Expand All @@ -21,7 +21,7 @@ For details about the UID2 opt-out workflow and how users can opt out, see [User

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-v2.md).
If needed, documentation is also available for the previous version: see [POST /v2/identity/map](post-identity-map-v2.md).

## Batch Size and Request Parallelization Requirements

Expand Down Expand Up @@ -210,7 +210,7 @@ If the `status` value is anything other than `success`, the `message` field prov
429 responses do not include a JSON response body.
:::

## Migration from v2 Identity Map
## Migration from POST /v2/identity/map

The following sections provide general information and guidance for migrating to version 3 from earlier versions, including:

Expand Down
2 changes: 1 addition & 1 deletion docs/endpoints/post-token-generate.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ You must include only **one** of the following four conditional parameters as ke
### Request Examples

:::important
To ensure that the API key used to access the service remains secret, the `POST /token/generate` endpoint must be called from the server side, unlike [POST&nbsp;/token/refresh](post-token-refresh.md) which does not require using an API key. If you want to generate tokens on the client side, see [Client-Side Integration Options](../guides/integration-options-publisher-web.md#client-side-integration-options) (for web-based implementations) or [UID2 Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side.md).
To ensure that the API key used to access the service remains secret, the `POST /token/generate` endpoint must be called from the server side, unlike [POST&nbsp;/token/refresh](post-token-refresh.md) which does not require using an API key. If you want to generate tokens on the client side, see [Client-Side Integration Options](../guides/integration-options-publisher-web.md#client-side-integration-options) (for web-based implementations) or [Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side.md).
:::

The following are unencrypted JSON request body examples for each parameter, one of which you should include in your token generation requests:
Expand Down
2 changes: 1 addition & 1 deletion docs/endpoints/summary-endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The following endpoints are for retrieving and managing UID2 tokens (identity to

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)
### Latest POST /v3/identity/map Endpoint

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.

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/gs-auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ To authenticate to the UID2 endpoints in a server-side implementation, you need
- A client secret for encrypting API requests and decrypting API responses. This is needed for all endpoints except [POST&nbsp;/token/refresh](../endpoints/post-token-refresh.md). <br/>For details, and encryption/decryption examples in several different programming languages, see [Encrypting Requests and Decrypting Responses](gs-encryption-decryption.md).

:::note
If you're a publisher and are implementing UID2 on the client side, the authentication and authorization is managed automatically by your implementation, such as Prebid.js (see [UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)) or the JavaScript SDK (see [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)).
If you're a publisher and are implementing UID2 on the client side, the authentication and authorization is managed automatically by your implementation, such as Prebid.js (see [Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)) or the JavaScript SDK (see [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)).
:::
10 changes: 5 additions & 5 deletions docs/getting-started/gs-credentials.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ Each UID2 <a href="../overviews/participants-overview#uid2-external-participants

| Audience | Credentials | Integration |
| :--- | :--- | :--- |
| Participants using a client-side implementation | Both of the following: <ul><li><Link href="../ref-info/glossary-uid#gl-subscription-id">Subscription ID</Link></li><li><Link href="../ref-info/glossary-uid#gl-public-key">Public key</Link></li></ul>These two, together, are sometimes called <Link href="../ref-info/glossary-uid#gl-client-keypair">client keypair</Link>. | Integrations using one of these: <ul><li>[UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)</li><li>[Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)</li><li>[UID2 Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side.md)</li></ul> |
| Participants using a client-server implementation | Both of the following:<ul><li><Link href="../ref-info/glossary-uid#gl-api-key">API key</Link>, also called a client key</li><li><Link href="../ref-info/glossary-uid#gl-client-secret">Client secret</Link>, a value known only to the participant and the UID2 service</li></ul> | Integrations using one of these: <ul><li>[Client-Server Integration Guide for JavaScript](../guides/integration-javascript-client-server.md)</li><li>[UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md)</li><li>[UID2 Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server.md)</li></ul> |
| Participants using a client-side implementation | Both of the following: <ul><li><Link href="../ref-info/glossary-uid#gl-subscription-id">Subscription ID</Link></li><li><Link href="../ref-info/glossary-uid#gl-public-key">Public key</Link></li></ul>These two, together, are sometimes called <Link href="../ref-info/glossary-uid#gl-client-keypair">client keypair</Link>. | Integrations using one of these: <ul><li>[Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)</li><li>[Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)</li><li>[Client-Side Integration Guide for Mobile](../guides/integration-mobile-client-side.md)</li></ul> |
| Participants using a client-server implementation | Both of the following:<ul><li><Link href="../ref-info/glossary-uid#gl-api-key">API key</Link>, also called a client key</li><li><Link href="../ref-info/glossary-uid#gl-client-secret">Client secret</Link>, a value known only to the participant and the UID2 service</li></ul> | Integrations using one of these: <ul><li>[Client-Server Integration Guide for JavaScript](../guides/integration-javascript-client-server.md)</li><li>[Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md)</li><li>[Client-Server Integration Guide for Mobile](../guides/integration-mobile-client-server.md)</li></ul> |
| Participants using a server-side implementation | Both of the following:<ul><li><Link href="../ref-info/glossary-uid#gl-api-key">API key</Link>, also called a client key</li><li><Link href="../ref-info/glossary-uid#gl-client-secret">Client secret</Link>, a value known only to the participant and the UID2 service</li></ul> | Integrations using one of these: <ul><li>[Publisher Integration Guide, Server-Side](../guides/integration-publisher-server-side.md)</li><li>[Advertiser/Data Provider Integration Overview](../guides/integration-advertiser-dataprovider-overview.md)</li></ul> |

## Separate Credentials Per Environment/Role

If you're using the integration <Link href="../ref-info/glossary-uid#gl-environment">environment</Link> as well as the production environment, you'll get a separate set of credentials for each environment. See [Getting Your Credentials](#getting-your-credentials).

In addition, in some cases, we recommend, but do not require, that you have a different set of credentials for a different scenario. For example:
- If you're a publisher who generates UID2 tokens (via [POST /token/generate](../endpoints/post-token-generate.md) or in some other way), but you also create/map raw UID2s on your own behalf (see [POST /identity/map](../endpoints/post-identity-map.md)), you might have separate credentials for each of these activities.
- If you're a publisher who generates UID2 tokens (via [POST /token/generate](../endpoints/post-token-generate.md) or in some other way), but you also create/map raw UID2s on your own behalf (see [POST /v3/identity/map](../endpoints/post-identity-map.md)), you might have separate credentials for each of these activities.
- If you're an advertiser, in a scenario where you allow multiple service providers to operate using your advertiser keys, you might choose to have separate credentials for each service provider.

## Getting Your Credentials
Expand Down Expand Up @@ -79,7 +79,7 @@ To get your credentials, ask your UID2 contact.

## Subscription ID and Public Key

If you're using a client-side implementation (see [UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md) or [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)), you'll receive the following credentials:
If you're using a client-side implementation (see [Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md) or [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)), you'll receive the following credentials:
- **Subscription ID**: This value identifies your site to the UID2 service.
- **Public key**: This value is used for encryption.

Expand All @@ -97,7 +97,7 @@ Notes:

## API Key and Client Secret

If you're using a client-server or server-side implementation (see [UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md) or [Client-Server Integration Guide for JavaScript](../guides/integration-javascript-client-server.md)), the API key and client secret allow you to connect to the <Link href="../ref-info/glossary-uid#gl-operator-service">Operator Service</Link> and call API endpoints. These values identify you to the service.
If you're using a client-server or server-side implementation (see [Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md) or [Client-Server Integration Guide for JavaScript](../guides/integration-javascript-client-server.md)), the API key and client secret allow you to connect to the <Link href="../ref-info/glossary-uid#gl-operator-service">Operator Service</Link> and call API endpoints. These values identify you to the service.

Here is some information about API keys and client secrets:
- You must keep these values secure. For details, see [Security of API Key and Client Secret](#security-of-api-key-and-client-secret).
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/gs-encryption-decryption.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import SnptIdentityGenerateResponse from '../snippets/_snpt-example-identity-gen
# Encrypting Requests and Decrypting Responses

:::note
If you're a publisher and are implementing UID2 on the client side, encryption and decryption is managed automatically by your implementation, such as Prebid.js (see [UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)) or the JavaScript SDK (see [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)).
If you're a publisher and are implementing UID2 on the client side, encryption and decryption is managed automatically by your implementation, such as Prebid.js (see [Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md)) or the JavaScript SDK (see [Client-Side Integration Guide for JavaScript](../guides/integration-javascript-client-side.md)).
:::

For almost all UID2 [endpoints](../endpoints/summary-endpoints.md), requests sent to the endpoint must be [encrypted](#encrypting-requests) and responses from the endpoint must be [decrypted](#decrypting-responses).
Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/gs-faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ If the user has opted out, the API response notifies you in either of these case
#### Where should I make token generation calls&#8212;from the server side or the client side?

You can generate UID2 tokens from either the client side or the server side. For more information, see:
- Generating tokens from the client side using Prebid.js: [UID2 Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md).
- Generating tokens from the server side using Prebid.js: [UID2 Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md).
- Generating tokens from the client side using Prebid.js: [Client-Side Integration Guide for Prebid.js](../guides/integration-prebid-client-side.md).
- Generating tokens from the server side using Prebid.js: [Client-Server Integration Guide for Prebid.js](../guides/integration-prebid-client-server.md).
- Other server-side options: [Publisher Integrations](../guides/summary-guides.md#publisher-integrations).

#### Can I make token refresh calls from the client side?
Expand Down
Loading
Loading