# OpenRTB

Nexx360 provides an OpenRTB 2.5 compliant endpoint for programmatic ad requests.

## Endpoint

```
POST https://fast.nexx360.io/open-rtb
```

## URL Query Parameters

| Parameter   | Required | Description                                                                                                                                                                                                         |
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_id`   | No       | Nexx360 site identifier                                                                                                                                                                                             |
| `placement` | No       | Placement identifier for tracking and reporting. Value is automatically uppercased. Injected into `imp.ext.nexx360.placement` for all impressions if not already set. Example: `/open-rtb?placement=digitalturbine` |
| `tag_id`    | No       | Nexx360 tagId. Injected into `imp.ext.nexx360.tagId` for all impressions if not already set. Useful when all impressions share the same tag ID. Example: `/open-rtb?tag_id=my-tag`                                  |

\*Either `site_id`, `tag_id`, or `placement` must be provided.

**Note:** URL query parameters only fill in missing values - they do not overwrite values already present in the request body.

## Request Payload

Nexx360 is compliant with OpenRTB 2.5. The main addition to the spec is the `imp[].ext.nexx360.tagId` field which identifies the Nexx360 placement configuration.

### Supported Formats

* Banner
* Video
* Native

### Impression Extension (`imp[].ext`)

| Field                  | Type      | Required | Description                                                                               |
| ---------------------- | --------- | -------- | ----------------------------------------------------------------------------------------- |
| `nexx360.tagId`        | string    | Yes\*    | Nexx360 placement ID from the platform (can also be set via `tag_id` URL query parameter) |
| `nexx360.placement`    | string    | No       | Placement identifier (can also be set via `placement` URL query parameter)                |
| `nexx360.bidders`      | object    | No       | SSP-specific configuration overrides                                                      |
| `nexx360.disabledSsps` | string\[] | No       | List of SSP names to exclude from the auction for this impression                         |

### Request Extension (`ext`)

| Field           | Type   | Description                        |
| --------------- | ------ | ---------------------------------- |
| `bidderVersion` | string | Client bidder version              |
| `nexx360Id`     | string | Nexx360 user identifier            |
| `pageViewId`    | string | Unique page view identifier        |
| `source`        | string | Request source (e.g., "prebid.js") |
| `version`       | string | Client version                     |

### User Extension (`user.ext`)

| Field     | Type   | Description                              |
| --------- | ------ | ---------------------------------------- |
| `consent` | string | TCF consent string                       |
| `eids`    | array  | Extended user identifiers for ID sharing |

### Regulations (`regs.ext`)

| Field        | Type   | Description              |
| ------------ | ------ | ------------------------ |
| `gdpr`       | 0 \| 1 | GDPR applies flag        |
| `us_privacy` | string | US Privacy (CCPA) string |

## Examples

{% content-ref url="/pages/rjcVLNIXvLmxOd0dBDlb" %}
[Video Example](/integration-methods/openrtb/video-example.md)
{% endcontent-ref %}

{% content-ref url="/pages/4hBFJEzIvfBmJDLYiKdh" %}
[Mobile Example](/integration-methods/openrtb/mobile-example.md)
{% endcontent-ref %}

{% content-ref url="/pages/Fb92xGGbMr8rDWKZJ7u8" %}
[Cookie Sync](/integration-methods/openrtb/cookie-sync.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.nexx360.io/integration-methods/openrtb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
