Skip to content

Class Reference

This page is the raw class and signature reference generated by mkdocstrings. For the generated wrapper method inventory with request models, response models, OpenAPI operation IDs, and Adobe doc links, use Methods Reference.

TargetClient

Bases: _OperationClient

Root public client for the Adobe Target Admin API.

Source code in packages/sdk/src/adobe_target_admin/client.py
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
class TargetClient(_OperationClient):
    """Root public client for the Adobe Target Admin API."""

    def __init__(
        self,
        *,
        tenant: str,
        api_key: str,
        auth_provider: _AuthProvider,
    ) -> None:
        transport = _TargetTransport(
            tenant=tenant,
            api_key=api_key,
            auth_provider=auth_provider,
        )
        super().__init__(transport=transport)
        self.activities = ActivitiesApi(transport=self._transport)
        self.audiences = AudiencesApi(transport=self._transport)
        self.properties = PropertiesApi(transport=self._transport)
        self.offers = OffersApi(transport=self._transport)
        self.reports = ReportsApi(transport=self._transport)
        self.environments = EnvironmentsApi(transport=self._transport)
        self.mboxes = MboxesApi(transport=self._transport)
        self.profile_attributes = ProfileAttributesApi(transport=self._transport)
        self.batch = BatchApi(transport=self._transport)

    def request(
        self,
        method: str,
        path: str,
        *,
        params: QueryParams | None = None,
        json: JsonMapping | None = None,
        version: str | None = None,
        headers: HeaderMap | None = None,
    ) -> httpx.Response:
        """Send a raw request through the internal Adobe-aware transport."""
        return self._transport.request(
            method,
            path,
            params=params,
            json=json,
            version=version,
            headers=headers,
        )

request(method, path, *, params=None, json=None, version=None, headers=None)

Send a raw request through the internal Adobe-aware transport.

Source code in packages/sdk/src/adobe_target_admin/client.py
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
def request(
    self,
    method: str,
    path: str,
    *,
    params: QueryParams | None = None,
    json: JsonMapping | None = None,
    version: str | None = None,
    headers: HeaderMap | None = None,
) -> httpx.Response:
    """Send a raw request through the internal Adobe-aware transport."""
    return self._transport.request(
        method,
        path,
        params=params,
        json=json,
        version=version,
        headers=headers,
    )

StaticTokenAuthProvider

Auth provider for a pre-existing bearer token.

Use this when another system already acquires Adobe access tokens and the wrapper only needs to attach the bearer token to outgoing requests.

Source code in packages/sdk/src/adobe_target_admin/auth.py
27
28
29
30
31
32
33
34
35
36
37
38
39
@dataclass(slots=True)
class StaticTokenAuthProvider:
    """Auth provider for a pre-existing bearer token.

    Use this when another system already acquires Adobe access tokens and the
    wrapper only needs to attach the bearer token to outgoing requests.
    """

    access_token: str

    def get_access_token(self) -> str:
        """Return the configured static bearer token."""
        return self.access_token

get_access_token()

Return the configured static bearer token.

Source code in packages/sdk/src/adobe_target_admin/auth.py
37
38
39
def get_access_token(self) -> str:
    """Return the configured static bearer token."""
    return self.access_token

OAuthServerToServerAuthProvider

OAuth Server-to-Server auth provider backed by Adobe IMS.

This provider performs Adobe IMS client-credentials token acquisition and caches the access token until it expires.

Source code in packages/sdk/src/adobe_target_admin/auth.py
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
class OAuthServerToServerAuthProvider:
    """OAuth Server-to-Server auth provider backed by Adobe IMS.

    This provider performs Adobe IMS client-credentials token acquisition and
    caches the access token until it expires.
    """

    def __init__(
        self,
        *,
        client_id: str,
        client_secret: str,
        scopes: list[str],
        token_url: str = "https://ims-na1.adobelogin.com/ims/token/v3",
        timeout: float = 30.0,
    ) -> None:
        self._client_id = client_id
        self._client_secret = client_secret
        self._scopes = scopes
        self._token_url = token_url
        self._timeout = timeout
        self._access_token: str | None = None
        self._expires_at: float = 0.0

    def get_access_token(self) -> str:
        """Return a cached access token or fetch a new one if needed."""
        if self._access_token is not None and time() < self._expires_at:
            return self._access_token

        response = httpx.post(
            self._token_url,
            data={
                "grant_type": "client_credentials",
                "client_id": self._client_id,
                "client_secret": self._client_secret,
                "scope": ",".join(self._scopes),
            },
            timeout=self._timeout,
        )
        response.raise_for_status()
        payload = response.json()
        if not isinstance(payload, dict):
            msg = "Adobe IMS token response must be a JSON object."
            raise ValueError(msg)

        access_token = payload.get("access_token")
        if not isinstance(access_token, str) or not access_token:
            msg = "Adobe IMS token response is missing a valid access_token."
            raise ValueError(msg)

        expires_in = int(payload.get("expires_in", 0))

        self._access_token = access_token
        self._expires_at = time() + expires_in
        return access_token

get_access_token()

Return a cached access token or fetch a new one if needed.

Source code in packages/sdk/src/adobe_target_admin/auth.py
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
def get_access_token(self) -> str:
    """Return a cached access token or fetch a new one if needed."""
    if self._access_token is not None and time() < self._expires_at:
        return self._access_token

    response = httpx.post(
        self._token_url,
        data={
            "grant_type": "client_credentials",
            "client_id": self._client_id,
            "client_secret": self._client_secret,
            "scope": ",".join(self._scopes),
        },
        timeout=self._timeout,
    )
    response.raise_for_status()
    payload = response.json()
    if not isinstance(payload, dict):
        msg = "Adobe IMS token response must be a JSON object."
        raise ValueError(msg)

    access_token = payload.get("access_token")
    if not isinstance(access_token, str) or not access_token:
        msg = "Adobe IMS token response is missing a valid access_token."
        raise ValueError(msg)

    expires_in = int(payload.get("expires_in", 0))

    self._access_token = access_token
    self._expires_at = time() + expires_in
    return access_token

OAuthUserAuthProvider

OAuth user-auth provider for Adobe IMS authorization-code flows.

This provider supports both:

  • confidential clients, which authenticate to the token endpoint with a client secret
  • public clients, which use PKCE and pass client_id to the token endpoint
Source code in packages/sdk/src/adobe_target_admin/auth.py
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
class OAuthUserAuthProvider:
    """OAuth user-auth provider for Adobe IMS authorization-code flows.

    This provider supports both:

    - confidential clients, which authenticate to the token endpoint with a client secret
    - public clients, which use PKCE and pass `client_id` to the token endpoint
    """

    def __init__(
        self,
        *,
        client_id: str,
        scopes: list[str],
        redirect_uri: str,
        client_secret: str | None = None,
        authorize_url: str = "https://ims-na1.adobelogin.com/ims/authorize/v2",
        token_url: str = "https://ims-na1.adobelogin.com/ims/token/v3",
        timeout: float = 30.0,
        access_token: str | None = None,
        refresh_token: str | None = None,
        id_token: str | None = None,
        expires_at: float = 0.0,
    ) -> None:
        self._client_id = client_id
        self._client_secret = client_secret
        self._scopes = scopes
        self._redirect_uri = redirect_uri
        self._authorize_url = authorize_url
        self._token_url = token_url
        self._timeout = timeout
        self._access_token = access_token
        self._refresh_token = refresh_token
        self._id_token = id_token
        self._expires_at = expires_at

    @property
    def refresh_token(self) -> str | None:
        """Return the cached refresh token, if any."""
        return self._refresh_token

    @property
    def id_token(self) -> str | None:
        """Return the cached ID token, if any."""
        return self._id_token

    @property
    def expires_at(self) -> float:
        """Return the cached access-token expiry timestamp."""
        return self._expires_at

    def build_authorization_url(
        self,
        *,
        state: str,
        code_challenge: str | None = None,
        code_challenge_method: str = "S256",
    ) -> str:
        """Build the Adobe IMS authorize URL for the current client setup."""
        params: dict[str, str] = {
            "client_id": self._client_id,
            "redirect_uri": self._redirect_uri,
            "scope": ",".join(self._scopes),
            "state": state,
            "response_type": "code",
        }
        if code_challenge is not None:
            params["code_challenge"] = code_challenge
            params["code_challenge_method"] = code_challenge_method
        return f"{self._authorize_url}?{urlencode(params)}"

    def exchange_code(self, code: str, *, code_verifier: str | None = None) -> str:
        """Exchange an authorization code for Adobe access and refresh tokens."""
        data = {
            "code": code,
            "grant_type": "authorization_code",
            "redirect_uri": self._redirect_uri,
        }
        headers = {"Content-Type": "application/x-www-form-urlencoded"}
        params: dict[str, str] | None = None

        if self._client_secret is None:
            if code_verifier is None:
                msg = "Public user-auth clients require code_verifier for code exchange."
                raise ValueError(msg)
            data["code_verifier"] = code_verifier
            params = {"client_id": self._client_id}
        else:
            headers["Authorization"] = self._basic_authorization_header()

        response = httpx.post(
            self._token_url,
            params=params,
            data=data,
            headers=headers,
            timeout=self._timeout,
        )
        response.raise_for_status()
        return self._store_token_response(response)

    def get_access_token(self) -> str:
        """Return a cached user token or refresh it with the stored refresh token."""
        if self._access_token is not None and time() < self._expires_at:
            return self._access_token
        if self._refresh_token is None:
            msg = (
                "No valid access token or refresh token is available. "
                "Run the user authorization flow first."
            )
            raise ValueError(msg)
        return self._refresh_access_token()

    def _refresh_access_token(self) -> str:
        headers = {"Content-Type": "application/x-www-form-urlencoded"}
        params: dict[str, str] | None = None
        if self._client_secret is None:
            params = {"client_id": self._client_id}
        else:
            headers["Authorization"] = self._basic_authorization_header()

        response = httpx.post(
            self._token_url,
            params=params,
            data={
                "grant_type": "refresh_token",
                "refresh_token": self._refresh_token,
            },
            headers=headers,
            timeout=self._timeout,
        )
        response.raise_for_status()
        return self._store_token_response(response)

    def _basic_authorization_header(self) -> str:
        raw = f"{self._client_id}:{self._client_secret}".encode()
        return f"Basic {b64encode(raw).decode()}"

    def _store_token_response(self, response: httpx.Response) -> str:
        payload = response.json()
        if not isinstance(payload, dict):
            msg = "Adobe IMS token response must be a JSON object."
            raise ValueError(msg)

        access_token = payload.get("access_token")
        if not isinstance(access_token, str) or not access_token:
            msg = "Adobe IMS token response is missing a valid access_token."
            raise ValueError(msg)

        refresh_token = payload.get("refresh_token")
        id_token = payload.get("id_token")
        expires_in = int(payload.get("expires_in", 0))

        self._access_token = access_token
        self._refresh_token = (
            refresh_token if isinstance(refresh_token, str) else self._refresh_token
        )
        self._id_token = id_token if isinstance(id_token, str) else self._id_token
        self._expires_at = time() + expires_in
        return access_token

expires_at property

Return the cached access-token expiry timestamp.

id_token property

Return the cached ID token, if any.

refresh_token property

Return the cached refresh token, if any.

build_authorization_url(*, state, code_challenge=None, code_challenge_method='S256')

Build the Adobe IMS authorize URL for the current client setup.

Source code in packages/sdk/src/adobe_target_admin/auth.py
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
def build_authorization_url(
    self,
    *,
    state: str,
    code_challenge: str | None = None,
    code_challenge_method: str = "S256",
) -> str:
    """Build the Adobe IMS authorize URL for the current client setup."""
    params: dict[str, str] = {
        "client_id": self._client_id,
        "redirect_uri": self._redirect_uri,
        "scope": ",".join(self._scopes),
        "state": state,
        "response_type": "code",
    }
    if code_challenge is not None:
        params["code_challenge"] = code_challenge
        params["code_challenge_method"] = code_challenge_method
    return f"{self._authorize_url}?{urlencode(params)}"

exchange_code(code, *, code_verifier=None)

Exchange an authorization code for Adobe access and refresh tokens.

Source code in packages/sdk/src/adobe_target_admin/auth.py
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
def exchange_code(self, code: str, *, code_verifier: str | None = None) -> str:
    """Exchange an authorization code for Adobe access and refresh tokens."""
    data = {
        "code": code,
        "grant_type": "authorization_code",
        "redirect_uri": self._redirect_uri,
    }
    headers = {"Content-Type": "application/x-www-form-urlencoded"}
    params: dict[str, str] | None = None

    if self._client_secret is None:
        if code_verifier is None:
            msg = "Public user-auth clients require code_verifier for code exchange."
            raise ValueError(msg)
        data["code_verifier"] = code_verifier
        params = {"client_id": self._client_id}
    else:
        headers["Authorization"] = self._basic_authorization_header()

    response = httpx.post(
        self._token_url,
        params=params,
        data=data,
        headers=headers,
        timeout=self._timeout,
    )
    response.raise_for_status()
    return self._store_token_response(response)

get_access_token()

Return a cached user token or refresh it with the stored refresh token.

Source code in packages/sdk/src/adobe_target_admin/auth.py
199
200
201
202
203
204
205
206
207
208
209
def get_access_token(self) -> str:
    """Return a cached user token or refresh it with the stored refresh token."""
    if self._access_token is not None and time() < self._expires_at:
        return self._access_token
    if self._refresh_token is None:
        msg = (
            "No valid access token or refresh token is available. "
            "Run the user authorization flow first."
        )
        raise ValueError(msg)
    return self._refresh_access_token()

ActivitiesListParams

Bases: BaseModel

Documented query parameters for listing activities.

Source code in packages/sdk/src/adobe_target_admin/query_models.py
10
11
12
13
14
15
16
17
class ActivitiesListParams(BaseModel):
    """Documented query parameters for listing activities."""

    model_config = ConfigDict(extra="forbid")

    mbox: str | None = None
    offerId: str | None = None
    viewId: str | None = None

AudiencesListParams

Bases: BaseModel

Documented query parameters for listing audiences.

Source code in packages/sdk/src/adobe_target_admin/query_models.py
20
21
22
23
class AudiencesListParams(BaseModel):
    """Documented query parameters for listing audiences."""

    model_config = ConfigDict(extra="forbid")

Activities Namespace (client.activities)

Bases: _OperationClient

Activities API grouped by activity type plus shared updates.

Source code in packages/sdk/src/adobe_target_admin/client.py
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
class ActivitiesApi(_OperationClient):
    """Activities API grouped by activity type plus shared updates."""

    def __init__(self, *, transport: _TargetTransport) -> None:
        super().__init__(transport=transport)
        self.ab = AbActivitiesApi(
            transport=transport,
            get_operation_id="getActivity_3",
            create_operation_id="createActivity_3",
            update_operation_id="updateActivity_3",
            delete_operation_id="deleteActivity_3",
        )
        self.xt = XtActivitiesApi(
            transport=transport,
            get_operation_id="getActivity_4",
            create_operation_id="createActivity_4",
            update_operation_id="updateActivity_4",
            delete_operation_id="deleteActivity_4",
        )

    @implemented_operation("getActivities")
    def list(self, *, params: ActivitiesListParams | None = None) -> ActivityList:
        """List activities for the current tenant."""
        return self._request_typed_operation(
            "getActivities",
            response_model=ActivityList,
            params=params,
        )

    @implemented_operation("updateName")
    def update_name(self, activity_id: str, payload: Name) -> ActivityDescription:
        """Update the name of an activity."""
        return self._request_typed_operation(
            "updateName",
            response_model=ActivityDescription,
            path_params={"id": activity_id},
            json=payload,
        )

    @implemented_operation("updateState")
    def update_state(self, activity_id: str, payload: State) -> ActivityDescription:
        """Update the state of an activity."""
        return self._request_typed_operation(
            "updateState",
            response_model=ActivityDescription,
            path_params={"id": activity_id},
            json=payload,
        )

    @implemented_operation("updatePriority")
    def update_priority(self, activity_id: str, payload: Priority) -> ActivityDescription:
        """Update the priority of an activity."""
        return self._request_typed_operation(
            "updatePriority",
            response_model=ActivityDescription,
            path_params={"id": activity_id},
            json=payload,
        )

    @implemented_operation("updateSchedule")
    def update_schedule(self, activity_id: str, payload: Schedule) -> ActivityDescription:
        """Update the schedule of an activity."""
        return self._request_typed_operation(
            "updateSchedule",
            response_model=ActivityDescription,
            path_params={"id": activity_id},
            json=payload,
        )

    @implemented_operation("getChangelog")
    def changelog(self, activity_id: str) -> ActivityChangelogList:
        """Fetch the activity changelog."""
        return self._request_typed_operation(
            "getChangelog",
            response_model=ActivityChangelogList,
            path_params={"id": activity_id},
        )

changelog(activity_id)

Fetch the activity changelog.

Source code in packages/sdk/src/adobe_target_admin/client.py
207
208
209
210
211
212
213
214
@implemented_operation("getChangelog")
def changelog(self, activity_id: str) -> ActivityChangelogList:
    """Fetch the activity changelog."""
    return self._request_typed_operation(
        "getChangelog",
        response_model=ActivityChangelogList,
        path_params={"id": activity_id},
    )

list(*, params=None)

List activities for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
158
159
160
161
162
163
164
165
@implemented_operation("getActivities")
def list(self, *, params: ActivitiesListParams | None = None) -> ActivityList:
    """List activities for the current tenant."""
    return self._request_typed_operation(
        "getActivities",
        response_model=ActivityList,
        params=params,
    )

update_name(activity_id, payload)

Update the name of an activity.

Source code in packages/sdk/src/adobe_target_admin/client.py
167
168
169
170
171
172
173
174
175
@implemented_operation("updateName")
def update_name(self, activity_id: str, payload: Name) -> ActivityDescription:
    """Update the name of an activity."""
    return self._request_typed_operation(
        "updateName",
        response_model=ActivityDescription,
        path_params={"id": activity_id},
        json=payload,
    )

update_priority(activity_id, payload)

Update the priority of an activity.

Source code in packages/sdk/src/adobe_target_admin/client.py
187
188
189
190
191
192
193
194
195
@implemented_operation("updatePriority")
def update_priority(self, activity_id: str, payload: Priority) -> ActivityDescription:
    """Update the priority of an activity."""
    return self._request_typed_operation(
        "updatePriority",
        response_model=ActivityDescription,
        path_params={"id": activity_id},
        json=payload,
    )

update_schedule(activity_id, payload)

Update the schedule of an activity.

Source code in packages/sdk/src/adobe_target_admin/client.py
197
198
199
200
201
202
203
204
205
@implemented_operation("updateSchedule")
def update_schedule(self, activity_id: str, payload: Schedule) -> ActivityDescription:
    """Update the schedule of an activity."""
    return self._request_typed_operation(
        "updateSchedule",
        response_model=ActivityDescription,
        path_params={"id": activity_id},
        json=payload,
    )

update_state(activity_id, payload)

Update the state of an activity.

Source code in packages/sdk/src/adobe_target_admin/client.py
177
178
179
180
181
182
183
184
185
@implemented_operation("updateState")
def update_state(self, activity_id: str, payload: State) -> ActivityDescription:
    """Update the state of an activity."""
    return self._request_typed_operation(
        "updateState",
        response_model=ActivityDescription,
        path_params={"id": activity_id},
        json=payload,
    )

Audiences Namespace (client.audiences)

Bases: _OperationClient

Audiences API.

Source code in packages/sdk/src/adobe_target_admin/client.py
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
class AudiencesApi(_OperationClient):
    """Audiences API."""

    @implemented_operation("getAudiences")
    def list(self, *, params: AudiencesListParams | None = None) -> AudienceList:
        """List audiences for the current tenant."""
        return self._request_typed_operation(
            "getAudiences",
            response_model=AudienceList,
            params=params,
        )

    @implemented_operation("getAudience")
    def get(self, audience_id: str) -> Audience:
        """Fetch one audience by Adobe ID."""
        return self._request_typed_operation(
            "getAudience",
            response_model=Audience,
            path_params={"id": audience_id},
        )

    @implemented_operation("createAudience")
    def create(self, payload: Audience) -> Audience:
        """Create an audience."""
        return self._request_typed_operation(
            "createAudience",
            response_model=Audience,
            json=payload,
        )

    @implemented_operation("updateAudience")
    def update(self, audience_id: str, payload: Audience) -> Audience:
        """Replace an audience."""
        return self._request_typed_operation(
            "updateAudience",
            response_model=Audience,
            path_params={"id": audience_id},
            json=payload,
        )

    @implemented_operation("deleteAudience")
    def delete(self, audience_id: str) -> Audience:
        """Delete an audience by Adobe ID."""
        return self._request_typed_operation(
            "deleteAudience",
            response_model=Audience,
            path_params={"id": audience_id},
        )

create(payload)

Create an audience.

Source code in packages/sdk/src/adobe_target_admin/client.py
238
239
240
241
242
243
244
245
@implemented_operation("createAudience")
def create(self, payload: Audience) -> Audience:
    """Create an audience."""
    return self._request_typed_operation(
        "createAudience",
        response_model=Audience,
        json=payload,
    )

delete(audience_id)

Delete an audience by Adobe ID.

Source code in packages/sdk/src/adobe_target_admin/client.py
257
258
259
260
261
262
263
264
@implemented_operation("deleteAudience")
def delete(self, audience_id: str) -> Audience:
    """Delete an audience by Adobe ID."""
    return self._request_typed_operation(
        "deleteAudience",
        response_model=Audience,
        path_params={"id": audience_id},
    )

get(audience_id)

Fetch one audience by Adobe ID.

Source code in packages/sdk/src/adobe_target_admin/client.py
229
230
231
232
233
234
235
236
@implemented_operation("getAudience")
def get(self, audience_id: str) -> Audience:
    """Fetch one audience by Adobe ID."""
    return self._request_typed_operation(
        "getAudience",
        response_model=Audience,
        path_params={"id": audience_id},
    )

list(*, params=None)

List audiences for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
220
221
222
223
224
225
226
227
@implemented_operation("getAudiences")
def list(self, *, params: AudiencesListParams | None = None) -> AudienceList:
    """List audiences for the current tenant."""
    return self._request_typed_operation(
        "getAudiences",
        response_model=AudienceList,
        params=params,
    )

update(audience_id, payload)

Replace an audience.

Source code in packages/sdk/src/adobe_target_admin/client.py
247
248
249
250
251
252
253
254
255
@implemented_operation("updateAudience")
def update(self, audience_id: str, payload: Audience) -> Audience:
    """Replace an audience."""
    return self._request_typed_operation(
        "updateAudience",
        response_model=Audience,
        path_params={"id": audience_id},
        json=payload,
    )

Properties Namespace (client.properties)

Bases: _OperationClient

Properties API.

Source code in packages/sdk/src/adobe_target_admin/client.py
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
class PropertiesApi(_OperationClient):
    """Properties API."""

    @implemented_operation("getProperties")
    def list(self) -> PropertyList:
        """List properties for the current tenant."""
        return self._request_typed_operation("getProperties", response_model=PropertyList)

    @implemented_operation("getProperty")
    def get(self, property_id: str) -> Property:
        """Fetch one property by Adobe ID."""
        return self._request_typed_operation(
            "getProperty",
            response_model=Property,
            path_params={"id": property_id},
        )

get(property_id)

Fetch one property by Adobe ID.

Source code in packages/sdk/src/adobe_target_admin/client.py
275
276
277
278
279
280
281
282
@implemented_operation("getProperty")
def get(self, property_id: str) -> Property:
    """Fetch one property by Adobe ID."""
    return self._request_typed_operation(
        "getProperty",
        response_model=Property,
        path_params={"id": property_id},
    )

list()

List properties for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
270
271
272
273
@implemented_operation("getProperties")
def list(self) -> PropertyList:
    """List properties for the current tenant."""
    return self._request_typed_operation("getProperties", response_model=PropertyList)

Offers Namespace (client.offers)

Bases: _OperationClient

Offers API with grouped content-offer CRUD operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
326
327
328
329
330
331
332
333
334
335
336
class OffersApi(_OperationClient):
    """Offers API with grouped content-offer CRUD operations."""

    def __init__(self, *, transport: _TargetTransport) -> None:
        super().__init__(transport=transport)
        self.content = ContentOffersApi(transport=transport)

    @implemented_operation("getOffers")
    def list(self) -> OfferList:
        """List all offers for the current tenant."""
        return self._request_typed_operation("getOffers", response_model=OfferList)

list()

List all offers for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
333
334
335
336
@implemented_operation("getOffers")
def list(self) -> OfferList:
    """List all offers for the current tenant."""
    return self._request_typed_operation("getOffers", response_model=OfferList)

Reports Namespace (client.reports)

Bases: _OperationClient

Reports API grouped by activity type.

Source code in packages/sdk/src/adobe_target_admin/client.py
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
class ReportsApi(_OperationClient):
    """Reports API grouped by activity type."""

    def __init__(self, *, transport: _TargetTransport) -> None:
        super().__init__(transport=transport)
        self.ab = AbReportsApi(
            transport=transport,
            performance_operation_id="getReportById_2",
            orders_operation_id="getReportById_4",
        )
        self.xt = XtReportsApi(
            transport=transport,
            performance_operation_id="getReportById_3",
            orders_operation_id="getReportById_5",
        )
        self.abt = AbtReportsApi(
            transport=transport,
            performance_operation_id="getReportById",
            orders_operation_id="getReportById_1",
        )

Environments Namespace (client.environments)

Bases: _OperationClient

Environments API.

Source code in packages/sdk/src/adobe_target_admin/client.py
428
429
430
431
432
433
434
435
436
437
class EnvironmentsApi(_OperationClient):
    """Environments API."""

    @implemented_operation("getEnvironments")
    def list(self) -> EnvironmentList:
        """List environments for the current tenant."""
        return self._request_typed_operation(
            "getEnvironments",
            response_model=EnvironmentList,
        )

list()

List environments for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
431
432
433
434
435
436
437
@implemented_operation("getEnvironments")
def list(self) -> EnvironmentList:
    """List environments for the current tenant."""
    return self._request_typed_operation(
        "getEnvironments",
        response_model=EnvironmentList,
    )

Mboxes Namespace (client.mboxes)

Bases: _OperationClient

Mbox API.

Source code in packages/sdk/src/adobe_target_admin/client.py
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
class MboxesApi(_OperationClient):
    """Mbox API."""

    @implemented_operation("getMboxes")
    def list(self) -> MboxList:
        """List mboxes for the current tenant."""
        return self._request_typed_operation("getMboxes", response_model=MboxList)

    @implemented_operation("getMbox")
    def parameters(self, mbox_name: str) -> Mbox:
        """List parameters for one mbox name."""
        return self._request_typed_operation(
            "getMbox",
            response_model=Mbox,
            path_params={"mboxName": mbox_name},
        )

list()

List mboxes for the current tenant.

Source code in packages/sdk/src/adobe_target_admin/client.py
443
444
445
446
@implemented_operation("getMboxes")
def list(self) -> MboxList:
    """List mboxes for the current tenant."""
    return self._request_typed_operation("getMboxes", response_model=MboxList)

parameters(mbox_name)

List parameters for one mbox name.

Source code in packages/sdk/src/adobe_target_admin/client.py
448
449
450
451
452
453
454
455
@implemented_operation("getMbox")
def parameters(self, mbox_name: str) -> Mbox:
    """List parameters for one mbox name."""
    return self._request_typed_operation(
        "getMbox",
        response_model=Mbox,
        path_params={"mboxName": mbox_name},
    )

Profile Attributes Namespace (client.profile_attributes)

Bases: _OperationClient

Profile attributes API.

Source code in packages/sdk/src/adobe_target_admin/client.py
458
459
460
461
462
463
464
465
466
467
class ProfileAttributesApi(_OperationClient):
    """Profile attributes API."""

    @implemented_operation("getMboxProfileAttributes")
    def list(self) -> MboxProfileAttributesDTO:
        """List mbox profile attributes."""
        return self._request_typed_operation(
            "getMboxProfileAttributes",
            response_model=MboxProfileAttributesDTO,
        )

list()

List mbox profile attributes.

Source code in packages/sdk/src/adobe_target_admin/client.py
461
462
463
464
465
466
467
@implemented_operation("getMboxProfileAttributes")
def list(self) -> MboxProfileAttributesDTO:
    """List mbox profile attributes."""
    return self._request_typed_operation(
        "getMboxProfileAttributes",
        response_model=MboxProfileAttributesDTO,
    )

Batch Namespace (client.batch)

Bases: _OperationClient

Batch API.

Source code in packages/sdk/src/adobe_target_admin/client.py
470
471
472
473
474
475
476
477
478
479
480
481
class BatchApi(_OperationClient):
    """Batch API."""

    @implemented_operation("processBatchOperations")
    def execute(self, payload: BatchRequest) -> BatchResponse:
        """Execute a batch request."""
        return self._request_typed_operation(
            "processBatchOperations",
            response_model=BatchResponse,
            json=payload,
            version=BATCH_API_VERSION,
        )

execute(payload)

Execute a batch request.

Source code in packages/sdk/src/adobe_target_admin/client.py
473
474
475
476
477
478
479
480
481
@implemented_operation("processBatchOperations")
def execute(self, payload: BatchRequest) -> BatchResponse:
    """Execute a batch request."""
    return self._request_typed_operation(
        "processBatchOperations",
        response_model=BatchResponse,
        json=payload,
        version=BATCH_API_VERSION,
    )

Activities AB Namespace (client.activities.ab)

Bases: _BaseActivityTypeApi

AB activity operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
class AbActivitiesApi(_BaseActivityTypeApi):
    """AB activity operations."""

    @implemented_operation("getActivity_3")
    def get(self, activity_id: str) -> ABActivity:
        return super().get(activity_id)

    @implemented_operation("createActivity_3")
    def create(self, payload: ABActivity) -> ABActivity:
        return super().create(payload)

    @implemented_operation("updateActivity_3")
    def update(self, activity_id: str, payload: ABActivity) -> ABActivity:
        return super().update(activity_id, payload)

    @implemented_operation("deleteActivity_3")
    def delete(self, activity_id: str) -> ABActivity:
        return super().delete(activity_id)

Activities XT Namespace (client.activities.xt)

Bases: _BaseActivityTypeApi

XT activity operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
class XtActivitiesApi(_BaseActivityTypeApi):
    """XT activity operations."""

    @implemented_operation("getActivity_4")
    def get(self, activity_id: str) -> ABActivity:
        return super().get(activity_id)

    @implemented_operation("createActivity_4")
    def create(self, payload: ABActivity) -> ABActivity:
        return super().create(payload)

    @implemented_operation("updateActivity_4")
    def update(self, activity_id: str, payload: ABActivity) -> ABActivity:
        return super().update(activity_id, payload)

    @implemented_operation("deleteActivity_4")
    def delete(self, activity_id: str) -> ABActivity:
        return super().delete(activity_id)

Offers Content Namespace (client.offers.content)

Bases: _OperationClient

CRUD operations for Adobe content offers.

Source code in packages/sdk/src/adobe_target_admin/client.py
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
class ContentOffersApi(_OperationClient):
    """CRUD operations for Adobe content offers."""

    @implemented_operation("getOffer_2")
    def get(self, offer_id: str) -> ContentOffer:
        """Fetch one content offer by Adobe ID."""
        return self._request_typed_operation(
            "getOffer_2",
            response_model=ContentOffer,
            path_params={"id": offer_id},
        )

    @implemented_operation("createOffer_2")
    def create(self, payload: ContentOffer) -> ContentOffer:
        """Create a content offer."""
        return self._request_typed_operation(
            "createOffer_2",
            response_model=ContentOffer,
            json=payload,
        )

    @implemented_operation("updateOffer_2")
    def update(self, offer_id: str, payload: ContentOffer) -> ContentOffer:
        """Replace a content offer."""
        return self._request_typed_operation(
            "updateOffer_2",
            response_model=ContentOffer,
            path_params={"id": offer_id},
            json=payload,
        )

    @implemented_operation("deleteOffer_2")
    def delete(self, offer_id: str) -> ContentOffer:
        """Delete a content offer by Adobe ID."""
        return self._request_typed_operation(
            "deleteOffer_2",
            response_model=ContentOffer,
            path_params={"id": offer_id},
        )

create(payload)

Create a content offer.

Source code in packages/sdk/src/adobe_target_admin/client.py
297
298
299
300
301
302
303
304
@implemented_operation("createOffer_2")
def create(self, payload: ContentOffer) -> ContentOffer:
    """Create a content offer."""
    return self._request_typed_operation(
        "createOffer_2",
        response_model=ContentOffer,
        json=payload,
    )

delete(offer_id)

Delete a content offer by Adobe ID.

Source code in packages/sdk/src/adobe_target_admin/client.py
316
317
318
319
320
321
322
323
@implemented_operation("deleteOffer_2")
def delete(self, offer_id: str) -> ContentOffer:
    """Delete a content offer by Adobe ID."""
    return self._request_typed_operation(
        "deleteOffer_2",
        response_model=ContentOffer,
        path_params={"id": offer_id},
    )

get(offer_id)

Fetch one content offer by Adobe ID.

Source code in packages/sdk/src/adobe_target_admin/client.py
288
289
290
291
292
293
294
295
@implemented_operation("getOffer_2")
def get(self, offer_id: str) -> ContentOffer:
    """Fetch one content offer by Adobe ID."""
    return self._request_typed_operation(
        "getOffer_2",
        response_model=ContentOffer,
        path_params={"id": offer_id},
    )

update(offer_id, payload)

Replace a content offer.

Source code in packages/sdk/src/adobe_target_admin/client.py
306
307
308
309
310
311
312
313
314
@implemented_operation("updateOffer_2")
def update(self, offer_id: str, payload: ContentOffer) -> ContentOffer:
    """Replace a content offer."""
    return self._request_typed_operation(
        "updateOffer_2",
        response_model=ContentOffer,
        path_params={"id": offer_id},
        json=payload,
    )

Reports AB Namespace (client.reports.ab)

Bases: _BaseActivityReportApi

AB report operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
370
371
372
373
374
375
376
377
378
379
class AbReportsApi(_BaseActivityReportApi):
    """AB report operations."""

    @implemented_operation("getReportById_2")
    def performance(self, activity_id: str) -> AbstractActivityPerformanceReport:
        return super().performance(activity_id)

    @implemented_operation("getReportById_4")
    def orders(self, activity_id: str) -> ActivityOrdersReport:
        return super().orders(activity_id)

Reports XT Namespace (client.reports.xt)

Bases: _BaseActivityReportApi

XT report operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
382
383
384
385
386
387
388
389
390
391
class XtReportsApi(_BaseActivityReportApi):
    """XT report operations."""

    @implemented_operation("getReportById_3")
    def performance(self, activity_id: str) -> AbstractActivityPerformanceReport:
        return super().performance(activity_id)

    @implemented_operation("getReportById_5")
    def orders(self, activity_id: str) -> ActivityOrdersReport:
        return super().orders(activity_id)

Reports ABT Namespace (client.reports.abt)

Bases: _BaseActivityReportApi

ABT report operations.

Source code in packages/sdk/src/adobe_target_admin/client.py
394
395
396
397
398
399
400
401
402
403
class AbtReportsApi(_BaseActivityReportApi):
    """ABT report operations."""

    @implemented_operation("getReportById")
    def performance(self, activity_id: str) -> AbstractActivityPerformanceReport:
        return super().performance(activity_id)

    @implemented_operation("getReportById_1")
    def orders(self, activity_id: str) -> ActivityOrdersReport:
        return super().orders(activity_id)