# Adjust S2S API Reference

{% hint style="warning" %}
The Adjust S2S API destination is currently in Early Access. Please contact <support@freshpaint.io> for more information about this integration.
{% endhint %}

## Destination Info

* Supports [Track](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#track) calls
* Supports [HIPAA mode](https://documentation.freshpaint.io/hipaa-mode)
* Refer to this destination as **Adjust S2S** in the [Integrations object](https://documentation.freshpaint.io/reference/developer/freshpaint-sdk-reference#using-the-integrations-object)
* Connection Modes:

<table><thead><tr><th width="200.33333333333331" align="right"> </th><th data-type="checkbox">Client-side</th><th data-type="checkbox">Server-side</th></tr></thead><tbody><tr><td align="right">Web</td><td>false</td><td>true</td></tr><tr><td align="right">Mobile</td><td>false</td><td>true</td></tr><tr><td align="right">Server</td><td>false</td><td>true</td></tr></tbody></table>

This is a reference document for the Adjust destination. For information on how to set up this integration, see the [Adjust S2S API Quick Start Guide](/integrations/destinations/mobile-measurement-partners-mmp/adjust-s2s-early-access/adjust-s2s-api-quick-start-guide.md).

## Events

### Event Properties

All events sent to Adjust include the following common parameters.

#### Common Parameters

| Freshpaint Property               | Adjust Parameter  | Notes                                                                                                                        |
| --------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `$os`                             | `os_name`         | Mapped to Adjust OS strings: `ios`, `android`, `macos`, `windows`, `linux`. Defaults to `server` if missing or unrecognized. |
| `time`                            | `created_at_unix` | Unix timestamp of the event. Defaults to current server time if not present.                                                 |
| `$ip`                             | `ip_address`      | <mark style="color:$warning;">Recommended</mark>. **IPv4 only.** IPv6 addresses are ignored.                                 |
| `$user_agent`                     | `user_agent`      | <mark style="color:$warning;">Recommended</mark>.                                                                            |
| `$device_model` or `$device`      | `device_name`     | `$device_model` takes precedence.                                                                                            |
| `$device_version` or `os_version` | `os_version`      | `$device_version` takes precedence.                                                                                          |
| `device_type`                     | `device_type`     |                                                                                                                              |
| `$app_version`                    | `app_version`     | <mark style="color:$warning;">Recommended</mark>. On iOS, also sent as `app_version_short`.                                  |
| *(config)*                        | `app_token`       | Your Adjust App Token, set in destination configuration.                                                                     |
| *(config)*                        | `environment`     | `sandbox` or `production`, set in destination configuration.                                                                 |
| *(constant)*                      | `s2s`             | Always `1`.                                                                                                                  |

When you send an event to the Adjust S2S destination from Freshpaint, Freshpaint will create an event in the Adjust event manager by hitting Adjust's API.

### Device Identifier Properties

Freshpaint <mark style="color:$primary;">**requires at least one**</mark> device identifier to forward an event to Adjust. If none of the following are present, the event will be dropped.&#x20;

| Freshpaint Property | Adjust Parameter | Platform |
| ------------------- | ---------------- | -------- |
| `$idfa`             | `idfa`           | iOS      |
| `$idfv`             | `idfv`           | iOS      |
| `$gaid`             | `gps_adid`       | Android  |
| `$android_id`       | `android_id`     | Android  |
| `adjust_device_id`  | `adid`           | Any      |

### Session-Specific Properties

The following parameters are only included when the event is routed to the `/session` endpoint.

| Freshpaint Property                                       | Adjust Parameter       | Notes                                                                                                                                                                                                                                                                  |
| --------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$att_status`                                             | `att_status`           | <mark style="color:$warning;">Recommended</mark>. Apple ATT consent status. Mapped to numeric values: `notDetermined` → `0`, `restricted` → `1`, `denied` → `2`, `authorized` → `3`. If `$idfa` is present and `$att_status` is not set, defaults to `3` (authorized). |
| `primary_dedupe_token` *(custom)* or persistent device ID | `primary_dedupe_token` | Used for session deduplication. Falls back to Freshpaint's persistent device ID if the custom property is not set.                                                                                                                                                     |

***

### Event-Specific Properties

The following parameters are only included when the event is routed to the `/event` endpoint.

| Freshpaint Property | Adjust Parameter | Notes                                                                                                                                                |
| ------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| *(config)*          | `event_token`    | <mark style="color:$primary;">**Required**</mark>. The Adjust event token corresponding to the Freshpaint event name. See Event Token Mapping below. |
| `revenue`           | `revenue`        |                                                                                                                                                      |
| `currency`          | `currency`       |                                                                                                                                                      |

Adjust only accepts event tokens for events that have been configured in their events page of the application. Please copy them over to your Freshpaint Adjust S2S configuration page. See [Adjust S2S API Quick Start Guide](/integrations/destinations/mobile-measurement-partners-mmp/adjust-s2s-early-access/adjust-s2s-api-quick-start-guide.md)for more information.


---

# 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://documentation.freshpaint.io/integrations/destinations/mobile-measurement-partners-mmp/adjust-s2s-early-access/adjust-s2s-api-reference.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.
